GCEでのdocker実装では、ルートファイルシステムのスペースが不足しています。
イメージ自体は別の1TBボリュームに保存されるため、イメージ自体に問題はありません。
候補の1つは、Docker自体が保存する集中ログファイル(jsonファイルか?)、それらのファイル/ファイルの場所/場所、およびログローテーション/切り捨て方法を知っている人はいますか?
GCEでのdocker実装では、ルートファイルシステムのスペースが不足しています。
イメージ自体は別の1TBボリュームに保存されるため、イメージ自体に問題はありません。
候補の1つは、Docker自体が保存する集中ログファイル(jsonファイルか?)、それらのファイル/ファイルの場所/場所、およびログローテーション/切り捨て方法を知っている人はいますか?
回答:
まず、クライアントとサーバーの両方にdocker 1.1.2を使用していますが、dockerが急速に進化するため、この回答は新しいバージョンのdockerでは廃止される可能性があります。
dockerディレクトリを見つけます。apt / debianスタイルシステムを使用するシステムでは、dockerリポジトリによってインストールされるパッケージはをhttps://get.docker.com/ubuntu
使用します/var/lib/docker
。ディレクトリが他のシステムの同じ場所にある可能性があります(確認できません)。
下にcontainers/**CONTAINER_ID**
コンテナに関する情報があります。**CONTAINER_ID**-json.log
そのフォルダー内のファイルには、そのコンテナーのすべてのログを含むファイルがあります。jsonファイルのように見えるかもしれませんが、そうではありません。これは、各行に1つのログ行を含むjson構造のフローです(各行はa }
で終わり、次の行はa で始まる{
ため、全体として有効なjsonではありません)。
場所の例:- /var/lib/docker/containers/05b6053c41a2130afd6fc3b158bda4e605b6053c41a2130afd6fc3b158bda4e6/05b6053c41a2130afd6fc3b158bda4e605b6053c41a2130afd6fc3b158bda4e6-json.log
そのパスを使用して、それがスペースを使い果たしているかどうかを確認することをお勧めしますが、ログローテーションではありません。
私はむしろ、コンテナが行をあまり多く記録しないことを確認します(dockerfileでCMDを使用して、プロセスの出力をボリューム内のファイルまたは/ dev / nullにリダイレクトします-設定でログを有効にします-そして次に、別のコンテナでログファイルをログローテーションします)
docker inspect
あなたの友だちです。
docker inspect --format='{{.LogPath}}' $INSTANCE_ID
docker-machine
コンテナログファイルをクリーンアップするための簡単なワンライナー:
echo "" > $(docker inspect --format='{{.LogPath}}' <container_name_or_id>)
docker-machine ssh default "echo '' | sudo tee $(docker inspect --format='{{.LogPath}}' <container_name_or_id>)"
docker logs
は常に空です
docker inspect --format='{{.LogPath}}' <container_name_or_id>
が、役に立ちました。ありがとう!
を実行するとsudo lsof | grep '(deleted)'
、ドッカーによって多くの削除されたコンテナログファイルが開いたままになることがあります。
docker 17511 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 2879 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 6191 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 8713 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 8726 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 9907 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 9918 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11093 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11096 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11110 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11885 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11890 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11973 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11976 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11983 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 13105 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 16737 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17139 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17516 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17517 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17518 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17519 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17520 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17525 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17574 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17584 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17586 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17637 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17643 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17644 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17659 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17666 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17669 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17680 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17884 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17895 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 21126 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 21474 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 21475 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 21519 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 21721 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 23829 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 23830 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 23833 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 24196 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 24197 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 26821 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 28597 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 28608 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 30305 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 30308 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 30594 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 30595 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
これらは、削除されたコンテナに属するログです。これらを閉じる1つの方法は、Dockerデーモン自体を再起動することです。これは常に実行可能ではありません。
このスペースを解放する別の方法は、関連するファイル記述子を見つけて切り捨てることです。
ls -lh /proc/17511/fd/ | grep e49d81fc
lr-x------ 1 root root 64 Sep 8 08:06 25 -> /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511
のpidはどこにe49d81fc
あり、問題のあるlogfilename / container idの一部です。ここでは、fdは/ proc / 17511 / fd / 25なので、切り捨てます。
cat /dev/null > /proc/17511/fd/25
: > /proc/17511/fd/25
Dockerバージョン1.13.0、ビルド49bf474を使用しています
デフォルトのロギング形式を使用している場合json-file
、ログをローテーションするオプションを指定できます。
dockerデーモンをセットアップして、それを行うか、コンテナーごとにセットアップできます。
たとえば、2 MBのログファイルサイズと最大5つのログファイル:
Dockerデーモン:ファイルの作成/etc/docker/daemon.json
:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "2m",
"max-file": "5",
}
}
Dockerの実行:
docker run -it --log-driver json-file --log-opt max-size=2m,max-file=5 alpine ash
詳細については、ロギングおよびdockerd設定を参照してください
遅い答えですが、同じボートに乗っている人なら誰でも、ドッカーログを管理するのに賢明な場所にエクスポートするオプションを検討する方が良いでしょう。 logspoutは、すべてのdockerコンテナからログを収集し、どこかに送信するのに役立ちます。これだけを考慮する必要がある場合は、ホストのsyslogデーモンに送信するのが適切な方法である可能性があります。通常のメカニズムを使用して、それらをファイルに配置し、そこからローテーションします。大規模なマルチホスト環境では、「ELK」スタックへの配送を検討する場合があります。すなわち、Elasticsearch、Logstash、Kibana。
ドッカーの場所を見つけるには、次を使用できます。
docker info
Containers: 16
Images: 45
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Dirs: 78
Execution Driver: native-0.2
Kernel Version: 3.16.0-31-generic
Operating System: Ubuntu 14.10
WARNING: No swap limit support
スペースを解放する場合は、次の方法で実行できます。
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2e2977ed2f4c ekino/puppetlabs:12.04.5 "/bin/bash" 15 hours ago Exited (0) 15 hours ago stoic_jones
ded5903df161 ekino/puppetlabs:12.04.5 "/bin/bash" 12 days ago Exited (0) 11 days ago boring_wilson
72a831b7e4ab a964750d8f91 "/bin/bash" 4 weeks ago Exited (127) 3 weeks ago hungry_meitner
79af8331bad9 a964750d8f91 "/bin/bash" 4 weeks ago Exited (0) 4 weeks ago tender_wilson
d3d3ca34b4b2 1af3728b2912 "/bin/bash" 6 weeks ago Exited (0) 5 weeks ago distracted_shockley
これで、コンテナを削除できます:
docker rm ac055c58ab19
公式のDockerドキュメントでこのスクリプトを見ました:
sudo find /var/lib/docker/containers/ -type f -name "*.log" -delete
うまく機能しますが、Dockerはメモリを自動的に解放しません...スクリプトはログファイルを削除するだけです。