ジェラシアン草原での Docker マスター

DockerIntermediate
オンラインで実践に進む

はじめに

野生の馬が自由に駆け巡り、馬使いと野生動物との絆が生存に不可欠な、古代ジェラシアンの広大な草原を想像してみてください。あなたの役割は野生の馬使いです。この広大な大地で 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 の未開の世界で生き残るために不可欠な、コンテナ管理とネットワーク構築の重要なスキルを身につけることができました。

✨ 解答を確認して練習✨ 解答を確認して練習