はじめに
あなたは古代ゲラシアの草原にいます。そこでは野生の馬が自由に駆け回り、馬使いと野生の獣との絆が生存のために不可欠です。あなたは野生の馬使いとして、この広大な大地で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 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の過酷な世界で生き残るために不可欠な、Dockerコンテナ管理とネットワーク構築の重要なスキルを身につけることができました。



