デフォルトのコマンドがクラッシュするため、停止した Docker コンテナを別のコマンドで起動したいと思います。つまり、コンテナを起動してdocker exec
コマンドを使用することはできません。
基本的には、コンテナの内容を検査できるようにシェルを起動したいと思います。
幸運なことに、私はオプション付きのコンテナを作成しました-it
!
ベストアンサー1
停止したコンテナIDを見つける
docker ps -a
停止したコンテナをコミットします。
このコマンドは、変更されたコンテナの状態を次の名前の新しいイメージに保存しますuser/test_image
:
docker commit $CONTAINER_ID user/test_image
別のエントリ ポイントで開始/実行します。
docker run -ti --entrypoint=sh user/test_image
エントリポイント引数の説明:
https://docs.docker.com/engine/reference/run/#/entrypoint-default-command-to-execute-at-runtime
注記:
上記の手順では、同じファイルシステム状態で停止したコンテナを起動するだけです。これは簡単な調査には最適ですが、環境変数、ネットワーク構成、接続されたボリュームなどは継承されません。これらの引数はすべて明示的に指定する必要があります。
停止したコンテナを起動する手順は、ここから借用しました: (最後のコメント)参考: https://github.com/docker/docker/issues/18078