自分の備忘録用に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": {}
}
]
参考文献
- 古賀政純, "Docker実践ガイド 第2版", 2019.
- Docker ネットワーク機能の概要 — Docker-docs-ja 17.06.Beta ドキュメント, http://docs.docker.jp/engine/userguide/networking/index.html, Online; accessed 10-June-2019.