1

私はUbuntuのt2.micro AWS EC2インスタンスでDockerを実行しています。 私はいくつかのコンテナを実行しています。私の長年走っていたコンテナのうちの1つ(今でも同じ)は、今の3回目に約2〜5日間走った後に姿を消したばかりです。それはちょうどクラッシュの兆候がなくなりました。DockerコンテナがAWS EC2 Ubuntuでランダムに表示されなくなる

  • マシンが再起動されていません(uptimeは15日間です)。
  • --rmフラグ:docker run -d --name mycontainer myimageを使用していません。
  • docker ps -aを実行しているときに、このコンテナの出現ゾンビはありません。
  • ログがありません。docker logs mycontainerはコンテナが見つかりません。
  • コンテナが消える時間枠内には、journalctl -u docker.serviceにログエントリはありません。
    • could not remove cluster networks: This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again
    • Handler for GET /v1.24/networks/othercontainer_default returned error: network othercontainer_default not found:しかし、別の容器に関するいくつかの他のログエントリ がある occuring繰り返しおよそ6分毎(それはcronジョブだ関連がある場合は、知りませんが)している(のはそれothercontainerを呼びましょう)
    • Firewalld running: false

などが存在することになる場合でも、メモリ不足の問題が発生した場合、またはアプリケーションが終了した場合は、の概要で終了したDockerコンテナゾンビが残っています。おそらく存在状況は0または!= 0です。 私はまた、自動的に--restartにしたくない、私はちょうど退出したコンテナを見たい。 問題を追跡するための詳細はどこで確認できますか?

バージョン:

  • OS:Ubuntu 16.04.2 LTS(カーネル:4.4.0-1013-aws
  • ドッカー:ヒントにDocker version 17.03.1-ce, build c6d412e
+0

ECSを使用していますか? (Amazon ECSコンテナエージェント1.8.0以降)停止または終了したコンテナがコンテナインスタンスに残っている時間を減らします。 ECS_ENGINE_TASK_CLEANUP_WAIT_DURATIONエージェント設定変数は、タスクが停止してからDockerコンテナが削除されるまでの待機時間を設定します(デフォルトでは、この値は3時間です)。私はコンテナに問題があると思いますが、それは停止し、3時間後に削除されますか? – lvthillo

+1

ホストの 'dmesg'コマンドの出力を確認してください。 – Robert

+0

@ lorenzvth7私は現在ECSを使用していません。単純なEC2インスタンスですが、すぐにすべてを反映させるつもりです。 @Robert「dmesg」を思い出していただきありがとうございます。私は最終的に私がこの問題を引き起こしたと思うクロノスのスクリプトについて知ることができた(答えを参照)。私はちょうどそれがこのように可能であることを期待していませんでした。今私は最初にこの部分をチェックしないように馬鹿だと感じる。 – mxscho

答えて

0

おかげでdmesgを見てまたは多分私は私が最終的に見つけたと思う一般journalctlします問題。 どういうわけか、cronjobsの1つは、その最後にdocker system prune -fを5分ごとに実行しています。このコマンドは、基本的に未使用のものと実行していないものをすべて削除するようです。

私はこのコマンドについて以前は分かりませんでしたが、確かにこれは私の退去したコンテナが私がそれがどう起こったかを知らないうちにどのように削除されたかの方法でなければなりません。

関連する問題