【PR】本記事はアフィリエイト広告を利用しています。
amazonlinuxでmecabを導入するDockerファイル(一部)
FROM public.ecr.aws/amazonlinux/amazonlinux:latest
RUN yum update
RUN yum -y upgrade
RUN rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm
RUN yum makecache
RUN yum install -y git
RUN yum groupinstall -y "Development Tools"
RUN yum install -y
gcc
openssl-devel
bzip2-devel
libffi-devel
zlib-devel
readline-devel
sqlite-devel
ncurses-devel
gdbm-devel
tk-devel
uuid-devel
xz-devel
RUN mkdir mecab
COPY archive /mecab
RUN ls /mecab -ltr
WORKDIR mecab
RUN realpath mecab-0.996.tar.gz
RUN ls mecab-0.996.tar.gz -ltr
RUN tar xvzf mecab-0.996.tar.gz
WORKDIR /mecab/mecab-0.996
RUN ls -ltr
RUN ./configure --enable-utf8-only --with-charset=utf8
RUN make
RUN make install
RUN ldconfig
WORKDIR /mecab
RUN ls -ltr
RUN realpath mecab-ipadic-2.7.0.tar.gz
RUN tar xvzf mecab-ipadic-2.7.0.tar.gz
RUN ls -ltr
WORKDIR /mecab/mecab-ipadic-2.7.0-20070610
RUN ls -ltr
RUN ./configure --with-mecab-config=/usr/local/bin/mecab-config --prefix=/usr/local
RUN make
RUN make install
WORKDIR /
解決方法の説明
Redhat系のディストリビューションを採用しているamazonlinuxで
一番困ったのはmecabが素直に入らないこと。
ソースコードからビルドするように説明しているブログが多いけれど、
実際はリンク切れでリンクが有効ではないこと。
どうにかできないかと公式のサイトみてても時間がかかるだけだったので
解決方法をDockerファイルがあるパスの下に「archive」というディレクトリ
を作成して、そこに手動でダウンロードしてきたソースコードを入れて
コンテナにコピーし、ビルドするという方法を取りました。
なので
[Dockerファイル保存ディレクトリ]
+[archive]
+mecab-0.996.tar.gz
+mecab-ipadic-2.7.0.tar.gz
こんな構成で構築してあげて、コンテナを作成するようにしたら解決。
疲れました。
UbuntuやDebian系だとここまで苦労することはないです。
RedHat系(CentOSやamazonlinuxなど)をベースに採用しているものは
苦労することでしょう。
怠かった。
AWSクラウド設計完全ガイド [ アクセンチュア株式会社 戸賀 慶/福垣内 孝造/竹内 誠一/浪谷 浩一/澤田 拓也/ 崎原 晴香/浅輪 和哉/村田 亜弥 ] 価格:3520円 |