2. Docker コンテナの実行
このラボではポートマッピングや環境変数を設定してコンテナを実行する方法を学習します。
テキストを参照しながら各問題にチャレンジしてください。
必要があればウェブで調べても構いません。
ステップ 1: 問題 1/11
(※ スクリプトの実行が完了してから開始してください)
現在このホストでは何個のコンテナが実行中ですか。
- 1
- 3
- 2
- 0
Hints
docker container ls コマンドを使用します。
Answer
1
ステップ 2: 問題 2/11
実行中のコンテナにはどのイメージが使用されていますか。
- nginx
- redis
- tomcat
- nginx:alpine
- ubunto:18.04
Hints
docker container ls コマンドを実行して IMAGE 列を確認します。
Answer
nginx:alpine
ステップ 3: 問題 3/11
このコンテナでは何個のポートが使用されていますか。
- 3
- 2
- 0
- 1
- 4
Hints
docker container ls コマンドを実行して PORTS 列を確認します。
Answer
2
ステップ 4: 問題 4/11
このコンテナで公開されているポートは以下のどれですか。
- 3456 & 3456
- 80 & 8080
- 3456 & 80
- 22 & 3456
- 38080 & 80
Hints
docker container ls コマンドを実行して PORTS 列を確認します。
右側 (-> の後) に表示されているのがコンテナで公開されているポートです。
Answer
3456 & 80
ステップ 5: 問題 5/11
ホストで公開されているポートは以下のどれですか。
- 38080 & 3456
- 80 & 80
- 22 & 3456
- 3456 & 3456
- 3456 & 80
Hints
docker container ls コマンドを実行して PORTS 列を確認します。
左側 (-> の前) に表示されているのがホストで公開されているポートです。
Answer
38080 & 3456
ステップ 6: 問題 6/11
以下の条件でコンテナをバックグラウンド (detached モード) で起動してください。
- イメージ:
qualia906/simple-webapp - タグ:
blue - コンテナポート:
8080 - ホストポート:
38282
Hints
-p 38282:8080 でポートマッピングを設定します。
Solution
docker container run -d -p 38282:8080 qualia906/simple-webapp:blue を実行します。
ステップ 7: 問題 7/11
実行したコンテナに設定されている環境変数 APP_COLOR の値は以下のどれですか。
- red
- blue
- green
- pink
Hints
まず docker container ls コマンドを実行し、コンテナ ID かコンテナ名を確認します。
そして docker container inspect <CONTAINER_ID | CONTAINER_NAME> コマンドを実行し Env セクションを確認します。
Solution
docker container inspect <CONTAINER_ID | CONTAINER_NAME> | grep -A 10 Env を実行します。
Answer
blue
ステップ 8: 問題 8/11
コンテナのウェブ アプリケーションが動作していることを確認します。 以下からホストポートにアクセスしてください。
ステップ 9: 問題 9/11
以下の条件でコンテナをバックグラウンド (detached モード) で起動してください。
- コンテナ名:
green-app - イメージ:
qualia906/simple-webapp - 環境変数:
APP_COLOR=green - コンテナポート:
8080 - ホストポート:
38285
Hints
-p 38285:8080 でポートマッピングを設定します。-e APP_COLOR=green で環境変数を設定します。
Solution
docker container run -d -p 38285:8080 -e APP_COLOR=green --name green-app qualia906/simple-webapp を実行します。
ステップ 10: 問題 10/11
コンテナのウェブ アプリケーションが動作していることを確認します。 以下からホストポートにアクセスしてください。
ステップ 11: 問題 11/11
以下の条件でコンテナをバックグラウンド (detached モード) で起動してください。
- コンテナ名:
mysql-db - イメージ:
mysql - 環境変数:
MYSQL_ROOT_PASSWORD=db_pass123
Hints
-e MYSQL_ROOT_PASSWORD=db_pass123 で環境変数を設定します。
Solution
docker run -d -e MYSQL_ROOT_PASSWORD=db_pass123 --name mysql-db mysql を実行します。 コンテナ内から環境変数を確認するには docker exec -it mysql-db envを実行します。
完了
チャレンジ完了!
お疲れ様でした!