コンテナ内でのコマンド実行
Docker の強力な機能の一つは、実行中のコンテナ内部でコマンドを実行できることです。この機能は、デバッグ、メンテナンス作業の実行、あるいはコンテナを停止させずに設定を更新する場合などに非常に価値があります。
タスク
以下のタスクを完了させてください:
ubuntu イメージをベースにした、my-shell-container という名前のコンテナを起動する。このコンテナはバックグラウンドで実行し続ける必要があります。
my-shell-container コンテナ内で echo "Hello World" コマンドを実行する。
要件
- コンテナの起動には
docker run コマンドを使用すること。
- 起動後、コンテナがアクティブな状態を維持するようにすること。
- コンテナ内でのコマンド実行には
docker exec コマンドを使用すること。
- すべての操作は
/home/labex/project ディレクトリで行うこと。
ヒント
ubuntu イメージをベースにしたコンテナは、長時間実行されるコマンドが指定されていない限り、起動直後に終了してしまいます。コンテナをアクティブに保つために、起動時に sleep infinity のようなコマンドを実行することを検討してください。例:
docker your-command sleep infinity
例
コンテナを起動した後、docker ps コマンドを使用して実行中であることを確認できます。出力は以下のようになります:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1a2b3c4d5e6f ubuntu "<command>" 30 seconds ago Up 29 seconds my-shell-container
コンテナ内で echo コマンドを実行すると、以下の出力が表示されるはずです:
Hello World
これにより、実行中のコンテナ内でコマンドを正常に実行できたことが証明されます。
素晴らしい!実行中のコンテナ内でコマンドを実行し、対話する方法を学びました。このスキルにより、コンテナの管理とメンテナンスの可能性が大きく広がります。最後のステップでは、不要になったコンテナを削除してクリーンアップする方法を学びます。