Docker 入門
形態素解析や構文解析を Docker で実行する
Windows (PowerShell) で形態素解析,構文解析を実行する
このページでは MeCab を使った形態素解析や CaboCha/南瓜 を使った構文解析が利用できる Docker イメージからコンテナを起動し Windows の PowerShell から利用する方法を説明します.なお Docker Hub (https://hub.docker.com/r/rinsaka/mecab-ubuntu-x86_64) で公開している Docker イメージを利用することにします.
PowerShell のバージョン確認
まず PowerShell のバージョンを確認します.バージョン5系では文字コード周りの設計が古いため後の作業で文字化けが発生します.次のコマンドで PSVersion の値が「5.x...」の場合はこのページを参考に PowerShell 7系のインストールを行ってください.
PS C:\Users\rinsaka\Documents\work\mecab> $PSVersionTable ⏎ Name Value ---- ----- PSVersion 5.1.26100.4768 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.26100.4768 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 PS C:\Users\rinsaka\Documents\work\mecab>
バージョン7系であれば問題ありません.
PS C:\Users\rinsaka\Documents\work\mecab> $PSVersionTable ⏎ Name Value ---- ----- PSVersion 7.5.4 PSEdition Core GitCommitId 7.5.4 OS Microsoft Windows 10.0.26100 Platform Win32NT PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…} PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 WSManStackVersion 3.0 PS C:\Users\rinsaka\Documents\work\mecab>
イメージのダウンロード
はじめて rinsaka/mecab-ubuntu-x86_64 イメージを利用するには,docker pull コマンドを用いてイメージをダウンロードします.
PS C:\...\mecab> docker pull rinsaka/mecab-ubuntu-x86_64 ⏎
Using default tag: latest
latest: Pulling from rinsaka/mecab-ubuntu-x86_64
20043066d3d5: Pull complete
999549e01bbc: Pull complete
72672ac65cad: Pull complete
989d0ed799d5: Pull complete
d7666bafe989: Pull complete
d7ae6c329b58: Pull complete
44dcb2c46327: Pull complete
762f937b3b12: Pull complete
b8cf71171f50: Pull complete
00bce6f30e62: Pull complete
ee3ba61bc63e: Pull complete
4b69623f61ce: Pull complete
1cd898e6af7f: Pull complete
d60045286311: Pull complete
5d482770eeae: Pull complete
095c266f6366: Pull complete
Digest: sha256:8a5f5cd6387e205581b80d7bc7b41d2e7638827b1f27a358172b4e94e4ca3f5d
Status: Downloaded newer image for rinsaka/mecab-ubuntu-x86_64:latest
docker.io/rinsaka/mecab-ubuntu-x86_64:latest
What's next:
View a summary of image vulnerabilities and recommendations → docker scout quickview rinsaka/mecab-ubuntu-x86_64
PS C:\...\mecab>
イメージがダウンロードできていることを次のコマンドで確認します.イメージのサイズが 10GB 以上あり,かなり大きなイメージであることに注意してください.
PS C:\...\mecab> docker image ls ⏎
REPOSITORY TAG IMAGE ID CREATED SIZE
rinsaka/mecab-ubuntu-x86_64 latest 8048fd5cfb38 39 minutes ago 10.5GB
PS C:\...\mecab>
サンプルデータの準備
作業ディレクトリに形態素解析や構文解析を行いたいテキストファイルを用意します.このとき文字コードは UTF-8 になっていることを前提にします.
sample.txt
今日はメロンパンを食べました.
形態素解析の実行
次のコマンドでイメージからコンテナを作成し,テキストファイル(sample.txt)の形態素解析を実行できます.このとき,--rm オプションを指定しているので,実行終了時にコンテナは破棄されることに注意してください.文字化けが発生した場合は PowerShell のバージョンを確認してください.
PS C:\...\mecab> Get-Content -Raw .\sample.txt | docker run --rm -i rinsaka/mecab-ubuntu-x86_64 ⏎
今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
メロンパン 名詞,固有名詞,一般,*,*,*,メロンパン,メロンパン,メロンパン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
食べ 動詞,自立,*,*,一段,連用形,食べる,タベ,タベ
まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
. 記号,句点,*,*,*,*,.,.,.
EOS
記号,一般,*,*,*,*,*
EOS
PS C:\...\mecab>
Write-Output コマンドレットは出力ストリームに指定のオブジェクトを出力するコマンドです.形態素解析したい文字列を Write-Output コマンドで指定する場合は次のコマンドを利用します.
PS C:\...\mecab> Write-Output "今日はメロンパンを食べましょう" ⏎
今日はメロンパンを食べましょう
PS C:\...\mecab> Write-Output "今日はメロンパンを食べましょう" | docker run --rm -i rinsaka/mecab-ubuntu-x86_64
今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
メロンパン 名詞,固有名詞,一般,*,*,*,メロンパン,メロンパン,メロンパン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
食べ 動詞,自立,*,*,一段,連用形,食べる,タベ,タベ
ましょ 助動詞,*,*,*,特殊・マス,未然ウ接続,ます,マショ,マショ
う 助動詞,*,*,*,不変化型,基本形,う,ウ,ウ
記号,一般,*,*,*,*,*
EOS
PS C:\...\mecab>
なお,Write-Output コマンドは省略できるので,次のコマンドでも動作します.
PS C:\...\mecab> "今日はメロンパンを食べましょう" ⏎
今日はメロンパンを食べましょう
PS C:\...\mecab> "今日はメロンパンを食べましょう" | docker run --rm -i rinsaka/mecab-ubuntu-x86_64
今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
メロンパン 名詞,固有名詞,一般,*,*,*,メロンパン,メロンパン,メロンパン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
食べ 動詞,自立,*,*,一段,連用形,食べる,タベ,タベ
ましょ 助動詞,*,*,*,特殊・マス,未然ウ接続,ます,マショ,マショ
う 助動詞,*,*,*,不変化型,基本形,う,ウ,ウ
記号,一般,*,*,*,*,*
EOS
PS C:\...\mecab>
出力形式の変更
Docker の rinsaka/mecab-ubuntu-x86_64 イメージは上のように実行時にコマンドを省略すると mecab というコマンドが実行されます.明示的にコマンドとオプションを指定することで,形態素解析結果の出力形式を変更することができます.例えば出力形式を「分かち書き」(-Owakati) にするには,次のコマンドを実行します.
PS C:\...\mecab> Get-Content -Raw .\sample.txt | docker run --rm -i rinsaka/mecab-ubuntu-x86_64 mecab -Owakati ⏎
今日 は メロンパン を 食べ まし た .
PS C:\...\mecab>
別の例として出力形式を「茶筌」(-Ochasen) にすることもできます.
PS C:\...\mecab> Get-Content -Raw .\sample.txt | docker run --rm -i rinsaka/mecab-ubuntu-x86_64 mecab -Ochasen ⏎
今日 キョウ 今日 名詞-副詞可能
は ハ は 助詞-係助詞
メロンパン メロンパン メロンパン 名詞-固有名詞-一般
を ヲ を 助詞-格助詞-一般
食べ タベ 食べる 動詞-自立 一段 連用形
まし マシ ます 助動詞 特殊・マス 連用形
た タ た 助動詞 特殊・タ 基本形
. . . 記号-句点
EOS
記号-一般
EOS
PS C:\...\mecab>
辞書の変更
形態素解析の実行時に利用する辞書を変更することも可能です.辞書を指定しなければ高機能な「mecab-ipadic-neologd」が利用されます.それ以外に「unidic」「ipadic-utf8」「debian」「juman-utf8」が利用可能です.「ipadic」も搭載されていますが,文字化けするはずです.
まず,辞書を指定せずに高機能な「mecab-ipadic-neologd」を使用します.この辞書では「メロンパン」が一つの単語として認識され,比較的新しい「きゃりーぱみゅぱみゅ」のような人名・固有名詞も多数搭載されています.
PS C:\...\mecab> Get-Content -Raw .\sample.txt | docker run --rm -i rinsaka/mecab-ubuntu-x86_64 mecab ⏎
今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
メロンパン 名詞,固有名詞,一般,*,*,*,メロンパン,メロンパン,メロンパン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
食べ 動詞,自立,*,*,一段,連用形,食べる,タベ,タベ
まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
. 記号,句点,*,*,*,*,.,.,.
EOS
記号,一般,*,*,*,*,*
EOS
PS C:\...\mecab>
辞書は -dオプションで指定します.標準の辞書である「mecab-ipadic-neologd」を明示的に指定します.この場合は当然上と同じ結果になります.
PS C:\...\mecab> Get-Content -Raw .\sample.txt | docker run --rm -i rinsaka/mecab-ubuntu-x86_64 mecab -d /var/lib/mecab/dic/mecab-ipadic-neologd ⏎
今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
メロンパン 名詞,固有名詞,一般,*,*,*,メロンパン,メロンパン,メロンパン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
食べ 動詞,自立,*,*,一段,連用形,食べる,タベ,タベ
まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
. 記号,句点,*,*,*,*,.,.,.
EOS
記号,一般,*,*,*,*,*
EOS
PS C:\...\mecab>
次に「unidic」を使用します.
PS C:\...\mecab> Get-Content -Raw .\sample.txt | docker run --rm -i rinsaka/mecab-ubuntu-x86_64 mecab -d /var/lib/mecab/dic/unidic ⏎
今日 名詞,普通名詞,副詞可能,,,,キョウ,今日,今日,キョー,今日,キョー,和,"","","","","","",体,キョウ,キョウ,キョウ,キョウ,"1","C3","",2509094191768064,9128
は 助詞,係助詞,,,,,ハ,は,は,ワ,は,ワ,和,"","","","","","",係助,ハ,ハ,ハ,ハ,"","動詞%F2@0,名詞%F1,形容詞%F2@-1","",8059703733133824,29321
メロン 名詞,普通名詞,一般,,,,メロン,メロン-melon,メロン,メロン,メロン,メロン,外,"","","","","","",体,メロン,メロン,メロン,メロン,"1","C1","",10309854279377408,37507
パン 名詞,普通名詞,一般,,,,パン,パン-pao,パン,パン,パン,パン,外,"","","","","","",体,パン,パン,パン,パン,"1","C3","",8533868122612224,31046
を 助詞,格助詞,,,,,ヲ,を,を,オ,を,オ,和,"","","","","","",格助,ヲ,ヲ,ヲ,ヲ,"","動詞%F2@0,名詞%F1,形容詞%F2@-1","",11381878116459008,41407
食べ 動詞,一般,,,下一段-バ行,連用形-一般,タベル,食べる,食べ,タベ,食べる,タベル,和,"","","","","","",用,タベ,タベル,タベ,タベル,"2","C1","M4@1",6220495691326081,22630
まし 助動詞,,,,助動詞-マス,連用形-一般,マス,ます,まし,マシ,ます,マス,和,"","","","","","",助動,マシ,マス,マシ,マス,"","動詞%F4@1","",9812325267808897,35697
た 助動詞,,,,助動詞-タ,終止形-一般,タ,た,た,タ,た,タ,和,"","","","","","",助動,タ,タ,タ,タ,"","動詞%F2@1,形容詞%F4@-2","",5948916285711019,21642
. 補助記号,句点,,,,,,.,.,,.,,記号,"","","","","","",補助,,,,,"","","",14027396882944,51
EOS
補助記号,一般,,,,
EOS
PS C:\...\mecab>
今度は「ipadic-utf8」を指定します.
PS C:\...\mecab> Get-Content -Raw .\sample.txt | docker run --rm -i rinsaka/mecab-ubuntu-x86_64 mecab -d /var/lib/mecab/dic/ipadic-utf8 ⏎
今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
メロン 名詞,一般,*,*,*,*,メロン,メロン,メロン
パン 名詞,一般,*,*,*,*,パン,パン,パン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
食べ 動詞,自立,*,*,一段,連用形,食べる,タベ,タベ
まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
. 記号,句点,*,*,*,*,.,.,.
EOS
記号,一般,*,*,*,*,*
EOS
PS C:\...\mecab>
次に「debian」を指定します.
PS C:\...\mecab> Get-Content -Raw .\sample.txt | docker run --rm -i rinsaka/mecab-ubuntu-x86_64 mecab -d /var/lib/mecab/dic/debian ⏎
今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
メロン 名詞,一般,*,*,*,*,メロン,メロン,メロン
パン 名詞,一般,*,*,*,*,パン,パン,パン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
食べ 動詞,自立,*,*,一段,連用形,食べる,タベ,タベ
まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
. 記号,句点,*,*,*,*,.,.,.
EOS
記号,一般,*,*,*,*,*
EOS
PS C:\...\mecab>
最後に「juman-utf8」という辞書を利用します.この辞書を利用すると「ドメイン」や「カテゴリ」などの情報も得られることが分かります.
PS C:\...\mecab> Get-Content -Raw .\sample.txt | docker run --rm -i rinsaka/mecab-ubuntu-x86_64 mecab -d /var/lib/mecab/dic/juman-utf8 ⏎
今日 名詞,時相名詞,*,*,今日,きょう,代表表記:今日/きょう カテゴリ:時間
は 助詞,副助詞,*,*,は,は,連語
メロンパン 名詞,普通名詞,*,*,*,*,*
を 助詞,格助詞,*,*,を,を,連語
食べ 動詞,*,母音動詞,基本連用形,食べる,たべ,代表表記:食べる/たべる ドメイン:料理・食事
ました 接尾辞,動詞性接尾辞,動詞性接尾辞ます型,タ形,ます,ました,代表表記:ます/ます
. 特殊,句点,*,*,.,.,*
EOS
特殊,記号,*,*,*,*,*
EOS
PS C:\...\mecab>
CaboCha による係り受け解析
次に,CaboCha/南瓜を用いた係り受け解析(構文解析)を実行します.原則的には「mecab」コマンドの代わりに「cabocha」コマンドを指定するだけです.
PS C:\...\mecab> Get-Content -Raw .\sample.txt | docker run --rm -i rinsaka/mecab-ubuntu-x86_64 cabocha ⏎
今日は---D
メロンパンを-D
食べました.
EOS
EOS
PS C:\...\mecab>
出力形式を変更するには -f1 オプションを指定します.これ以外にも -f0 から -f4 までが利用できるので色々試してください.
PS C:\...\mecab> Get-Content -Raw .\sample.txt | docker run --rm -i rinsaka/mecab-ubuntu-x86_64 cabocha -f1 ⏎
* 0 2D 0/1 -1.880791
今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
* 1 2D 0/1 -1.880791
メロンパン 名詞,固有名詞,一般,*,*,*,メロンパン,メロンパン,メロンパン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
* 2 -1D 0/2 0.000000
食べ 動詞,自立,*,*,一段,連用形,食べる,タベ,タベ
まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
. 記号,句点,*,*,*,*,.,.,.
EOS
* 0 -1D 0/0 0.000000
記号,一般,*,*,*,*,*
EOS
PS C:\...\mecab>
辞書を変更するには -d オプションを利用します.利用できる辞書や辞書の指定方法は MeCab の辞書と共通です.次のとおり,出力形式を -f1 に変更すると同時に,辞書も指定します.なお,利用できる辞書や辞書の指定方法は MeCab の辞書と共通です.
PS C:\...\mecab> Get-Content -Raw .\sample.txt | docker run --rm -i rinsaka/mecab-ubuntu-x86_64 cabocha -f1 -d /var/lib/mecab/dic/unidic ⏎
* 0 3D 0/1 -1.677939
今日 名詞,普通名詞,副詞可能,*,*,*,キョウ,今日,今日,キョー,今日,キョー,和,*,*,*,*,*,*,体,キョウ,キョウ,キョウ,キョウ,1,C3,*,2509094191768064,9128
は 助詞,係助詞,*,*,*,*,ハ,は,は,ワ,は,ワ,和,*,*,*,*,*,*,係助,ハ,ハ,ハ,ハ,*,"動詞%F2@0,名詞%F1,形容詞%F2@-1",*,8059703733133824,29321
* 1 2D 1/2 0.877997
メロン 名詞,普通名詞,一般,*,*,*,メロン,メロン-melon,メロン,メロン,メロン,メロン,外,*,*,*,*,*,*,体,メロン,メロン,メロン,メロン,1,C1,*,10309854279377408,37507
パン 名詞,普通名詞,一般,*,*,*,パン,パン-pao,パン,パン,パン,パン,外,*,*,*,*,*,*,体,パン,パン,パン,パン,1,C3,*,8533868122612224,31046
を 助詞,格助詞,*,*,*,*,ヲ,を,を,オ,を,オ,和,*,*,*,*,*,*,格助,ヲ,ヲ,ヲ,ヲ,*,"動詞%F2@0,名詞%F1,形容詞%F2@-1",*,11381878116459008,41407
* 2 3D 0/2 -1.677939
食べ 動詞,一般,*,*,下一段-バ行,連用形-一般,タベル,食べる,食べ,タベ,食べる,タベル,和,*,*,*,*,*,*,用,タベ,タベル,タベ,タベル,2,C1,M4@1,6220495691326081,22630
まし 助動詞,*,*,*,助動詞-マス,連用形-一般,マス,ます,まし,マシ,ます,マス,和,*,*,*,*,*,*,助動,マシ,マス,マシ,マス,*,動詞%F4@1,*,9812325267808897,35697
た 助動詞,*,*,*,助動詞-タ,終止形-一般,タ,た,た,タ,た,タ,和,*,*,*,*,*,*,助動,タ,タ,タ,タ,*,"動詞%F2@1,形容詞%F4@-2",*,5948916285711019,21642
* 3 -1D 0/0 0.000000
. 補助記号,句点,*,*,*,*,*,.,.,*,.,*,記号,*,*,*,*,*,*,補助,*,*,*,*,*,*,*,14027396882944,51
EOS
* 0 -1D 0/0 0.000000
補助記号,一般,*,*,*,*
EOS
PS C:\...\mecab>
Ubuntu へのログイン
コンテナのベースイメージには Ubuntu を利用しています.コンテナのシェルにログインしたい場合は -t オプションを付与して次のコマンドを利用します.Bash シェルの利用方法についての詳細はこちらを参照してください.
PS C:\...\mecab> docker run --rm -i -t rinsaka/mecab-ubuntu-x86_64 /bin/bash ⏎ root@ddf6dbbccf13:/# ls ⏎ bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr root@ddf6dbbccf13:/# exit ⏎ exit PS C:\...\mecab>
もう一度 /bin/bash シェルにログインし,辞書が格納されたディレクトリを確認しておきます.
PS C:\...\mecab> docker run --rm -i -t rinsaka/mecab-ubuntu-x86_64 /bin/bash ⏎ root@3bf2afe134b3:/# ls ⏎ bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr root@3bf2afe134b3:/# cd /var/lib/mecab/dic/ ⏎ root@3bf2afe134b3:/var/lib/mecab/dic# ls ⏎ debian ipadic ipadic-utf8 juman-utf8 mecab-ipadic-neologd unidic root@3bf2afe134b3:/var/lib/mecab/dic# ls -l ⏎ total 16 lrwxrwxrwx 1 root root 34 Nov 23 01:36 debian -> /etc/alternatives/mecab-dictionary drwxr-xr-x 2 root root 4096 Nov 23 01:36 ipadic drwxr-xr-x 2 root root 4096 Nov 23 01:36 ipadic-utf8 drwxr-xr-x 2 root root 4096 Nov 23 01:36 juman-utf8 lrwxrwxrwx 1 root root 56 Nov 23 01:39 mecab-ipadic-neologd -> /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd drwxr-xr-x 2 root root 4096 Nov 23 01:38 unidic root@3bf2afe134b3:/var/lib/mecab/dic# exit ⏎ exit PS C:\...\mecab>
バックグラウンドでコンテナを起動しての利用
サーバなどで連続して形態素解析を実行する場合にはコンテナをデーモンとしてバックグラウンドで起動しておくとよいでしょう.バックグラウンドでコンテナを起動するには起動時に -d オプションを指定します.コンテナ利用時には docker exec コマンドを使います.
下の一連のコマンドを実行すると理解が深まるのではないでしょうか.まず,コンテナが一切起動していないことを確認します.
PS C:\...\mecab> docker container ls -a ⏎
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
PS C:\...\mecab>
イメージからコンテナを起動します.このとき,-d オプションを付与することでバックグラウンド(デーモン/daemon)での起動になります.また,起動したコンテナに --name オプションで「mecabd」という名称を指定しています.
PS C:\...\mecab> docker run -i -d --name mecabd rinsaka/mecab-ubuntu-x86_64 ⏎
8ebcc19cdcbf91ba19b103e87146486d1e469aa3e682930b7aa6cdee4894c2cc
PS C:\...\mecab>
コンテナが起動していることを確認します.
PS C:\...\mecab> docker container ls ⏎
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8ebcc19cdcbf rinsaka/mecab-ubuntu-x86_64 "/usr/bin/mecab" 9 seconds ago Up 9 seconds mecabd
PS C:\...\mecab>
利用時には docker exec コマンドを利用し,コンテナ名「mecabd」とコマンド「mecab」を指定指定します.
PS C:\...\mecab> Get-Content -Raw .\sample.txt | docker exec -i mecabd mecab ⏎
今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
メロンパン 名詞,固有名詞,一般,*,*,*,メロンパン,メロンパン,メロンパン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
食べ 動詞,自立,*,*,一段,連用形,食べる,タベ,タベ
まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
. 記号,句点,*,*,*,*,.,.,.
EOS
記号,一般,*,*,*,*,*
EOS
PS C:\...\mecab>
コンテナを終了させます.
PS C:\...\mecab> docker container stop mecabd ⏎
mecabd
PS C:\...\mecab>
終了したコンテナはまだ破棄されていないので残っています.
PS C:\...\mecab> docker container ls -a ⏎
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8ebcc19cdcbf rinsaka/mecab-ubuntu-x86_64 "/usr/bin/mecab" About a minute ago Exited (137) 10 seconds ago mecabd
PS C:\...\mecab>
終了中のコンテナを再び動作させます.このときは docker run コマンドではなく docker container start コマンドになることに注意してください.
PS C:\...\mecab> docker container start mecabd ⏎
mecabd
PS C:\...\mecab>
コンテナが起動していることを確認します.その後,プログラムを実行させるなどの処理を行うと良いでしょう.
PS C:\...\mecab> docker container ls ⏎
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8ebcc19cdcbf rinsaka/mecab-ubuntu-x86_64 "/usr/bin/mecab" About a minute ago Up 4 seconds mecabd
PS C:\...\mecab>
コンテナの利用を終えたらもう一度コンテナを終了させます.
PS C:\...\mecab> docker container stop mecabd ⏎
mecabd
PS C:\...\mecab>
終了したコンテナは破棄されていないのでやはり残っています.
PS C:\...\mecab> docker container ls -a ⏎
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8ebcc19cdcbf rinsaka/mecab-ubuntu-x86_64 "/usr/bin/mecab" About a minute ago Exited (137) 6 seconds ago mecabd
PS C:\...\mecab>
終了したコンテナを破棄します.
PS C:\...\mecab> docker container rm mecabd ⏎
mecabd
PS C:\...\mecab>
停止中のコンテナも存在しない状態になりました.
PS C:\...\mecab> docker container ls -a ⏎
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
PS C:\...\mecab>
イメージの削除
ここで利用しているDockerのベースイメージ (rinsaka/mecab-ubuntu-x86_64) のサイズは10GB以上あることから,今後利用する見込みがないのであれば無駄なストレージ容量を消費しないよう,イメージを削除しておくことが考えられます.
PS C:\...\mecab> docker image ls ⏎ REPOSITORY TAG IMAGE ID CREATED SIZE rinsaka/mecab-ubuntu-x86_64 latest 0abf3e798b73 8 minutes ago 10.5GB PS C:\...\mecab>
IMAGE ID (の先頭数文字)を指定してイメージを削除します.
PS C:\...\mecab> docker image rm 0ab ⏎
Untagged: rinsaka/mecab-ubuntu-x86_64:latest
Untagged: rinsaka/mecab-ubuntu-x86_64@sha256:9b5c0f80373f5110fb7d141ba34bc427ff4df9bb13ee901dde57b935826e4cd7
Deleted: sha256:0abf3e798b730dca3b342d1f8a018c7475b58b5aa5c13746b0ab9f3eefa988b8
PS C:\...\mecab>
イメージが削除されたことを確認します.
PS C:\...\mecab> docker image ls ⏎
REPOSITORY TAG IMAGE ID CREATED SIZE
PS C:\...\mecab>
念のため,Docker のストレージ消費量などを確認しても良いでしょう.
PS C:\...\mecab> docker system df ⏎
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 0 0 0B 0B
Containers 0 0 0B 0B
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B
PS C:\...\mecab>