はじめに
「最初のコンテナを実行する」チャレンジへようこそ!すでに hello-world コンテナの実行方法は学習済みですね。次は一歩進んで、別のコンテナを実行してみましょう。このチャレンジでは、Docker のスキルを活かして docker/getting-started イメージを起動します。このイメージは、コンテナ内で小さな Web サーバーを立ち上げるものです。
新しいコンテナを実行する
タスク
タスクはシンプルです:
docker/getting-startedイメージに基づいて Docker コンテナを実行してください。
要件
このチャレンジを完了するには、以下の条件を満たす必要があります:
docker runコマンドを使用してコンテナを起動すること。- イメージには
docker/getting-startedを使用すること(すでにプル済みです)。 ~/projectディレクトリでコマンドを実行すること。
例
コンテナの実行に成功すると、Docker はコンテナをフォアグラウンドで起動するため、ターミナルはコンテナのログにアタッチされた状態になります。これらのログは、docker/getting-started 内の Nginx Web サーバーから出力されるものです。
/docker-entrypoint.d/ ディレクトリが空ではないという警告メッセージが表示されても、心配する必要はありません。
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2024/10/29 09:26:17 [notice] 1#1: using the "epoll" event method
2024/10/29 09:26:17 [notice] 1#1: nginx/1.23.3
2024/10/29 09:26:17 [notice] 1#1: built by gcc 12.2.1 20220924 (Alpine 12.2.1_git20220924-r4)
2024/10/29 09:26:17 [notice] 1#1: OS: Linux 5.15.0-56-generic
2024/10/29 09:26:17 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2024/10/29 09:26:17 [notice] 1#1: start worker processes
2024/10/29 09:26:17 [notice] 1#1: start worker process 31
2024/10/29 09:26:17 [notice] 1#1: start worker process 32
新しいターミナルウィンドウを開き、docker ps コマンドを使用してコンテナが実行中であることを確認できます。
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f3f3b3b3b3b3 docker/getting-started "/docker-entrypoint.…" 1 minute ago Up 1 minute 80/tcp festive_mendel
注:
docker run docker/getting-startedを実行した最初のターミナルはそのままにしておいてください。Ctrl+Cを押したりターミナルを閉じたりすると、コンテナは停止します。docker psを実行するには別のターミナルを開くか、コンテナをバックグラウンドで実行したい場合はdocker run -d docker/getting-startedを使用してください。
まとめ
このチャレンジでは、新しいコンテナを実行することで Docker のスキルを広げました。docker run コマンドを使用して docker/getting-started イメージを起動し、コンテナ内で Web サーバーを立ち上げてターミナルに起動ログを出力させました。また、フォアグラウンドで起動したコンテナは、停止するまでターミナルがアタッチされた状態になることも確認しました。この演習を通じて、コンテナの起動方法や docker ps などの Docker コマンドを使用して実行状況を確認する基本操作を習得しました。



