Guest User

Untitled

a guest
Jan 19th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # ネットワーク (bridge) を作成する
  4. docker network create --driver bridge --subnet=10.0.0.0/16 --gateway=10.0.0.254 vlan01
  5. docker network create --driver bridge --subnet=20.0.0.0/16 --gateway=20.0.0.254 vlan02
  6.  
  7. # コンテナ(ホスト)を立ち上げる
  8. docker run -d --network=vlan01 --ip=10.0.0.1 --name=tokyo01 nginx:alpine
  9. docker run -d --network=vlan01 --ip=10.0.0.2 --name=tokyo02 nginx:alpine
  10. docker run -d --network=vlan02 --ip=20.0.0.1 --name=osaka01 nginx:alpine
  11. docker run -d --network=vlan02 --ip=20.0.0.2 --name=osaka02 nginx:alpine
  12.  
  13. # ping を打って他のコンテナとの導通確認をする
  14. docker exec tokyo01 ping -c3 -W1 10.0.0.2 # tokyo01 -> tokyo02 は繋がる
  15. docker exec tokyo01 ping -c3 -W1 20.0.0.1 # tokyo01 -> osaka01 は繋がらない
  16. docker exec tokyo01 ping -c3 -W1 20.0.0.2 # tokyo01 -> osaka02 は繋がらない
  17.  
  18. docker exec osaka01 ping -c3 -W1 20.0.0.2 # osaka01 -> osaka02 は繋がる
  19. docker exec osaka01 ping -c3 -W1 10.0.0.1 # osaka01 -> tokyo01 は繋がらない
  20. docker exec osaka01 ping -c3 -W1 10.0.0.2 # osaka01 -> tokyo02 は繋がらない
  21.  
  22. # vlan01, vlan02 を繋ぐコンテナをつくる
  23. docker run -d --name=tosaka nginx:alpine
  24. docker network connect --ip=10.0.0.3 vlan01 tosaka
  25. docker network connect --ip=20.0.0.3 vlan02 tosaka
  26. docker exec tosaka ifconfig # eth0, eth1 が vlan01, vlan02 に接続する
  27. docker exec tosaka ping -c3 -W1 10.0.0.1 # tosaka -> tokyo01 は繋がる
  28. docker exec tosaka ping -c3 -W1 20.0.0.1 # tosaka -> osaka01 は繋がる
  29. docker exec tokyo01 ping -c3 -W1 10.0.0.3 # tokyo01 -> tosaka は繋がる
  30. docker exec osaka01 ping -c3 -W1 20.0.0.3 # osaka01 -> tosaka は繋がる
  31.  
  32. # 不要になったコンテナとネットワークを削除
  33. docker rm -f tokyo01 tokyo02 osaka01 osaka02 tosaka
  34. docker network rm vlan01 vlan02
Add Comment
Please, Sign In to add comment