Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # ネットワーク (bridge) を作成する
- docker network create --driver bridge --subnet=10.0.0.0/16 --gateway=10.0.0.254 vlan01
- docker network create --driver bridge --subnet=20.0.0.0/16 --gateway=20.0.0.254 vlan02
- # コンテナ(ホスト)を立ち上げる
- docker run -d --network=vlan01 --ip=10.0.0.1 --name=tokyo01 nginx:alpine
- docker run -d --network=vlan01 --ip=10.0.0.2 --name=tokyo02 nginx:alpine
- docker run -d --network=vlan02 --ip=20.0.0.1 --name=osaka01 nginx:alpine
- docker run -d --network=vlan02 --ip=20.0.0.2 --name=osaka02 nginx:alpine
- # ping を打って他のコンテナとの導通確認をする
- docker exec tokyo01 ping -c3 -W1 10.0.0.2 # tokyo01 -> tokyo02 は繋がる
- docker exec tokyo01 ping -c3 -W1 20.0.0.1 # tokyo01 -> osaka01 は繋がらない
- docker exec tokyo01 ping -c3 -W1 20.0.0.2 # tokyo01 -> osaka02 は繋がらない
- docker exec osaka01 ping -c3 -W1 20.0.0.2 # osaka01 -> osaka02 は繋がる
- docker exec osaka01 ping -c3 -W1 10.0.0.1 # osaka01 -> tokyo01 は繋がらない
- docker exec osaka01 ping -c3 -W1 10.0.0.2 # osaka01 -> tokyo02 は繋がらない
- # vlan01, vlan02 を繋ぐコンテナをつくる
- docker run -d --name=tosaka nginx:alpine
- docker network connect --ip=10.0.0.3 vlan01 tosaka
- docker network connect --ip=20.0.0.3 vlan02 tosaka
- docker exec tosaka ifconfig # eth0, eth1 が vlan01, vlan02 に接続する
- docker exec tosaka ping -c3 -W1 10.0.0.1 # tosaka -> tokyo01 は繋がる
- docker exec tosaka ping -c3 -W1 20.0.0.1 # tosaka -> osaka01 は繋がる
- docker exec tokyo01 ping -c3 -W1 10.0.0.3 # tokyo01 -> tosaka は繋がる
- docker exec osaka01 ping -c3 -W1 20.0.0.3 # osaka01 -> tosaka は繋がる
- # 不要になったコンテナとネットワークを削除
- docker rm -f tokyo01 tokyo02 osaka01 osaka02 tosaka
- docker network rm vlan01 vlan02
Add Comment
Please, Sign In to add comment