はじめに
野生の馬が自由に駆け巡り、馬使いと野生動物との絆が生存に不可欠な、古代ジェラシアンの広大な草原を想像してみてください。あなたの役割は野生の馬使いです。この広大な大地で Docker を活用し、Docker コンテナを効率的に管理するという任務が課せられました。
コンテナ作成の習得
このステップでは、野生の草原で生き残るために不可欠な、Docker コンテナの作成と管理の基本を学びます。
タスク
mynginxという名前の Nginx コンテナを作成し、正常に実行されていることを確認してください。- Alpine コンテナを起動し、そのステータスを確認してください。
- 特定のボリュームをアタッチした Ubuntu コンテナをデプロイしてください(ホストの
~/projectをコンテナの/appにマウントします)。
要件
- すべての操作は
/home/labex/projectディレクトリ内で行う必要があります。 - 以下のコマンドを活用してください:
- コンテナの作成:
docker run - コンテナステータスの確認:
docker ps - ボリュームのアタッチ:
docker run -v
- コンテナの作成:
例
タスク完了後、docker ps の出力には、コンテナ ID、イメージ、ステータスなどの関連情報を含む実行中のコンテナが表示されるはずです。
labex:~/ $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1983f85f03d4 ubuntu "sleep 3600" 22 seconds ago Up 21 seconds ubuntu_container
4231996cae33 alpine "sleep 3600" 2 minutes ago Up 2 minutes alpine_container
519eadd3ced5 nginx "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 80/tcp mynginx
コンテナネットワークと通信
このステップでは、草原全体でシームレスな接続を確立するために、コンテナネットワークと通信の世界を深く掘り下げます。
タスク
- コンテナ用に
mynetworkという名前のカスタムネットワークを作成してください。 myalpineという名前の Alpine コンテナをこのカスタムネットワーク上にデプロイし、同じネットワーク内にある Python イメージベースのmypythonという名前のコンテナと通信できることを確認してください。
要件
- すべての操作は
/home/labex/projectディレクトリ内で行ってください。 - 以下のコマンドを活用してください:
- カスタムネットワークの作成:
docker network create - ネットワークへのコンテナ接続:
docker network connect(またはdocker run --network)
- カスタムネットワークの作成:
例
タスクが完了すると、docker network ls を実行したときにカスタムネットワークが表示され、Python コンテナがネットワーク内の他のコンテナと正常に通信できる状態になります。
ネットワークの確認:
labex:~/ $ docker network ls
NETWORK ID NAME DRIVER SCOPE
1a367e6cc4e5 bridge bridge local
91199fc6ad2e host host local
32e2857073a9 minikube bridge local
92d3b71b7efd mynetwork bridge local
1078d2c781b6 none null local
ping によるコンテナ間の接続確認:
labex:~/ $ docker exec myalpine ping mypython
PING mypython (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.153 ms
64 bytes from 172.18.0.3: seq=1 ttl=64 time=0.072 ms
64 bytes from 172.18.0.3: seq=2 ttl=64 time=0.069 ms
まとめ
このチャレンジでは、古代の草原における野生の馬使いとなり、Docker コンテナを管理する技術を習得しました。タスクを完了し、その解決策を理解することで、Docker の未開の世界で生き残るために不可欠な、コンテナ管理とネットワーク構築の重要なスキルを身につけることができました。



