Posted at

Dockerネットワークコマンド備忘録

自分の備忘録用にDockerネットワークコマンドに関する投稿をします。

以下の表は docker network コマンドで実行可能なコマンドリストです。

docker networkコマンドでは、docker用ネットワークの作成・削除・コンテナの接続・コンテナからの切断ができます。


コマンドリスト

コマンド
説明

docker network create
ネットワークの作成

docker network ls
ネットワークリストの確認

docker network rm
ネットワークの削除

docker network inspect
ネットワークの詳細確認

docker network connect
コンテナに接続

docker network disconnect
コンテナからの切断


ネットワークの作成

$ docker network create \

> --subnet 172.21.0.0/16 \
> --attachable \
> mylocalnet01
5b0cb52ac44008e6749833b73de8f47faad5368388db19234a6e2f6081feacca


ネットワークリストの確認

$ docker network ls

NETWORK ID NAME DRIVER SCOPE
...
5b0cb52ac440 mylocalnet01 bridge local
...


ネットワークの削除

$ docker network rm 5b0cb52ac440

5b0cb52ac440


ネットワークの詳細確認

$ docker network inspect 98d6066533ca

[
{
"Name": "mylocalnet01",
"Id": "98d6066533ca82b575cfdcd026fdebbe30316de9431d6007b5750e277ee89d42",
"Created": "2019-06-10T13:57:47.1322105Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.21.0.0/16"
}
]
},
"Internal": false,
"Attachable": true,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]


コンテナに接続

$ docker container run -d -e DBNAME=testdb -e MARIADBUSER=root -e MARIADBPASSWORD=mysqlPassword -v /Users/katsuya/Documents/dev/backend/docker/mariadb/lib/mysql:/var/lib/mysql:rw --name mariadb0001 centos:mariadb0001

55b19db93ded27e047b3e60852c93209ab4139f9999b4509751fe4a3d007f57b
$ docker network connect mylocalnet01 mariadb0001
$ docker network inspect mylocalnet01
[
{
"Name": "mylocalnet01",
"Id": "98d6066533ca82b575cfdcd026fdebbe30316de9431d6007b5750e277ee89d42",
"Created": "2019-06-10T13:57:47.1322105Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.21.0.0/16"
}
]
},
"Internal": false,
"Attachable": true,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"55b19db93ded27e047b3e60852c93209ab4139f9999b4509751fe4a3d007f57b": {
"Name": "mariadb0001",
"EndpointID": "4235c39603e47ba1b2d66874daa10b1dd1d35856abf55541b083b4137818e9a0",
"MacAddress": "02:42:ac:15:00:02",
"IPv4Address": "172.21.0.2/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]


ネットワークからの切断

$ docker network disconnect mylocalnet01 mariadb0001

$ docker network inspect mylocalnet01
[
{
"Name": "mylocalnet01",
"Id": "98d6066533ca82b575cfdcd026fdebbe30316de9431d6007b5750e277ee89d42",
"Created": "2019-06-10T13:57:47.1322105Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.21.0.0/16"
}
]
},
"Internal": false,
"Attachable": true,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]


参考文献


  1. 古賀政純, "Docker実践ガイド 第2版", 2019.

  2. Docker ネットワーク機能の概要 — Docker-docs-ja 17.06.Beta ドキュメント, http://docs.docker.jp/engine/userguide/networking/index.html, Online; accessed 10-June-2019.