Docker
ドッカーネットワーク
サーチ…
コンテナのホストIPを見つける方法
ホストで実行されているコンテナのIPアドレスを調べる必要があります。たとえば、ホストで実行されているWebサーバーに接続できます。
docker-machine
はMacOSXとWindowsで使われているものです。
まず、あなたのマシンをリストします:
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
default * virtualbox Running tcp://192.168.99.100:2376
次に、いずれかのマシンを選択します(デフォルトのマシンはデフォルトです)。
$ docker-machine ip default
192.168.99.100
ドッカーネットワークの作成
docker network create app-backend
このコマンドは、 appBackend
という簡単なブリッジネットワークを作成します。既定では、このネットワークにコンテナは接続されていません。
ネットワークの一覧表示
docker network ls
このコマンドは、ローカルのDockerホストで作成されたすべてのネットワークを一覧表示します。これには、デフォルトブリッジbridge
ネットワーク、ホストhost
ネットワーク、 null
ネットワークが含まれます。デフォルトでは、すべてのコンテナが既定のブリッジbridge
ネットワークに接続されています。
ネットワークにコンテナを追加する
docker network connect app-backend myAwesomeApp-1
このコマンドは、 myAwesomeApp-1
コンテナをapp-backend
ネットワークに接続します。コンテナをユーザー定義のネットワークに追加すると、組み込みDNSリゾルバ(フル機能のDNSサーバーではなく、エクスポートできない)によって、ネットワーク上の各コンテナが同じネットワーク上の各コンテナを解決できます。この単純なDNSリゾルバは、デフォルトブリッジbridge
ネットワークでは使用できません。
ネットワークからコンテナを分離する
docker network disconnect app-backend myAwesomeApp-1
このコマンドは、 myAwesomeApp-1
コンテナをapp-backend
ネットワークから切り離します。コンテナは、切断されたネットワーク上の他のコンテナと通信することができなくなり、組み込みDNSリゾルバを使用して、ネットワーク上の他のコンテナを検索することもなくなります。
Dockerネットワークを削除する
docker network rm app-backend
このコマンドは、ユーザー定義のapp-backend
ネットワークをDockerホストから削除します。他のネットワーク経由で接続されていないネットワーク上のすべてのコンテナは、他のコンテナとの通信が失われます。デフォルトのブリッジ削除することはできませんbridge
ネットワーク、 host
ホストネットワーク、またはnull
ヌルネットワークを。
ドッカーネットワークを検査する
docker network inspect app-backend
このコマンドは、 app-backend
ネットワークの詳細を出力します。
このコマンドの出力は次のようになります。
[
{
"Name": "foo",
"Id": "a0349d78c8fd7c16f5940bdbaf1adec8d8399b8309b2e8a969bd4e3226a6fc58",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1/16"
}
]
},
"Internal": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]