前回「[基礎知識]Dockerコマンドリファレンス(レビュー)~Hub・レジストリ用コマンド~」で、Docker日本語サイト本家「Docker-docs-ja」のDocker管理コマンドをレビューしました。
今回は、ネットワークと接続用コマンドについて、試行してみます。
以下は、その際の作業記録です。
(以降のコマンド実行実例は、前回までに作成した環境におけるDocker Desktop環境です)
(※上記は、MySQLコンテナを実行した状態である、ということの確認画面になります)
1.Hubやレジストリとのやり取りを行うためのコマンド
Docker Desktopにおいて、ネットワークと接続に関連するコマンドには、以下の6つがあります。
(1)network_lsコマンド
docker network ls
コマンドは、システム上のネットワークの一覧を表示します。
$ docker network ls
実施例)
NETWORK ID
: ネットワークの一意の識別子です。NAME
: ネットワークの名前です。DRIVER
: ネットワークのドライバーです。ドライバーは、ネットワークの実装方法を定義します。SCOPE
: ネットワークのスコープです。スコープは、ネットワークがどの範囲で利用可能かを示します。
具体的に各行の情報を見てみましょう。
① b2b63757ab83 bridge bridge local
これは「bridge」という名前のネットワークです。
bridge
ドライバーを使用し、ローカルスコープで利用可能です。
bridge
ネットワークは、Dockerデフォルトのネットワークで、コンテナが接続されるためのブリッジネットワークです。
② aa0c05e5c33b host host local
これは「host」という名前のネットワークです。
host
ドライバーを使用し、ローカルスコープで利用可能です。
host
ネットワークは、コンテナがホストのネットワークスタックを直接共有することを意味します。
つまり、コンテナはホストと同じネットワークインターフェースを共有します。
③ 229aa6d9727e none null local
これは「none」という名前のネットワークです。
null
ドライバーを使用し、ローカルスコープで利用可能です。
none
ネットワークは、コンテナがネットワークに接続されないことを示します。
コンテナはネットワークに直接アクセスできず、孤立している状態になります。
このように、docker network ls
コマンドを使用すると、Dockerで作成されたネットワークの一覧を確認することができます。
(2)network_inspectコマンド
docker network inspect
コマンドは、指定したネットワークの詳細情報を表示します。
$ docker network inspect my-network
実施例)
上記のコマンド実行結果は、Dockerネットワーク “bridge” の詳細情報を示しています。以下に各項目の説明を提供します:
Name
: ネットワークの名前です。この場合は “bridge” です。Id
: ネットワークの一意の識別子です。Created
: ネットワークの作成日時です。Scope
: ネットワークのスコープです。この場合は “local” となっています。Driver
: ネットワークのドライバーです。この場合は “bridge” です。EnableIPv6
: IPv6の有効化状態を示します。この場合は IPv6 は無効になっています。IPAM
: IPアドレス管理の設定情報です。ここではデフォルトの設定が使用されています。Internal
: 内部ネットワークかどうかを示します。この場合は外部からのアクセスが可能な公開ネットワークです。Attachable
: 他のコンテナに接続可能かどうかを示します。この場合は接続不可です。Ingress
: Ingressネットワークかどうかを示します。この場合は Ingress ネットワークではありません。ConfigFrom
: ネットワークの設定がどのネットワークから派生したものかを示します。ConfigOnly
: ネットワークが実際に作成されたか、設定のみが存在するかを示します。Containers
: ネットワークに接続されているコンテナの情報です。ここでは “mysql8.0.33-container” という名前のコンテナが接続されています。Options
: ネットワークのオプション設定情報です。Labels
: ネットワークに関連付けられたラベルの情報です。
以上が、docker network inspect
コマンドの出力結果の解説です。この情報を参考に、Dockerネットワーク “bridge” の詳細な設定や接続されているコンテナの情報を確認することができます。
(3)network_createコマンド
docker network create
コマンドは、新しいネットワークを作成します。
$ docker network create my-network
実施例)
上記では、my-network01ネットワークを作成して、結果を確認しています。
(4)network_connectコマンド
docker network connect
コマンドは、既存のコンテナを特定のネットワークに接続します。
$ docker network connect my-network my-container
実施例)
上記の例では、mysql8.0.33-container
という名前のコンテナをmy-network
01という名前のネットワークに接続しています。
以下は、上記で接続したネットワークの情報です。
(5)network_disconnectコマンド
docker network disconnect
コマンドは、既存のコンテナとネットワークの接続を解除します。
実施例)
これで接続していたネットワークから、接続が解除されました。
(6)network_rmコマンド
docker network rm
コマンドは、指定したネットワークを削除します。
$ docker network rm my-network
実施例)
これで、上記(3)で作成したネットワークが削除されました。
これらのコマンドを使用することで、Docker Desktopでネットワークの作成、接続、解除、確認、削除などの操作が行えます。