2016-12-14 13 views
0

仮想マシンにelasticsearchドッカーコンテナを実行していて、最近elasticsearchのエラーが発生し、コンテナが停止しました。理由は - 私のSSDは宇宙の外です。停止したドッカーコンテナのディスク管理(クリーンアップ)

インデックスを簡単にクリーンアップすることはできますが、実際の問題は、実際にドッキングを開始できないことです。コンテナは起動直後に停止し、Web UIやbashを経由してクリーンアップ領域に移動することはできません。

私が起動できなかった停止したコンテナでディスクをクリーンアップするにはどうすればよいですか?

答えて

1

official elasticsearch imageを使用していると仮定すると、Elasticsearchデータディレクトリはボリュームになります(その画像のDockerfileにあるVOLUME /usr/share/elasticsearch/dataのステートメントを念頭に置いてください)。

あなたは今、あなたが必要と認めるものは何でもクリーンアップタスクを実行するには--volumes-fromオプションを使用して、元の容器のボリュームをマウント、別のコンテナを起動することができます。

docker run --rm -it \ 
    --volumes-from=<original-elasticsearch-container> \ 
    ubuntu:latest \ 
    /bin/bash 

それが失敗した場合、また、あなたのElasticsearchコンテナ上docker inspectを実行することができますホストファイルシステム内のボリュームのディレクトリを探します(デフォルトのlocalボリュームドライバを使用していると仮定します)。 JSON出力のMountsセクションを探します。

"Mounts": [ 
    { 
     "Name": "<volume-id>", 
     "Source": "/var/lib/docker/volumes/<volume-id>/_data", 
     "Destination": "/usr/share/elasticsearch/data", 
     "Driver": "local", 
     "Mode": "", 
     "RW": true, 
     "Propagation": "" 
    } 
], 

"Source"プロパティは、ホストファイルシステム上のボリュームの位置を記述します。コンテナが起動されると、このディレクトリは単にコンテナのマウント名前空間にバインドされます。ホスト上のこのディレクトリで行った変更は、起動時にコンテナに反映されます。

関連する問題