1. 程式人生 > >Docker Swarm 建立overlay網路

Docker Swarm 建立overlay網路

Docker Swarm 建立overlay網路

環境:

  • 系統:Centos 7.4 x64
  • 應用版本:Docker 18.09.0
  • 管理節點:192.168.1.79
  • 工作節點:192.168.1.78
  • 工作節點:192.168.1.77

一、建立網路與服務

1、管理節點:建立overlay網路名字為my-network

docker network create --driver overlay my-network
命令:docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
3d1ut7rm89tv        my
-network overlay swarm
檢視網路建立

2、管理節點:建立服務並使用overlay網路

docker service create \
--replicas 3 \
--network my-network \
--name hello \
busybox ping www.baidu.com
# 建立服務
docker service create \
# 副本數
--replicas 3 \
# 新增網路
--network my-network \
# 服務名
--name hello \
# 映象 busybox # 容器執行指令 ping www.baidu.com
命令解析
命令:docker service ps my-web
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE            ERROR               PORTS
lb9djycc131z        my-web.1            nginx:latest        slave02             Running             Running 1 second ago                         
4wjvue79bdfc        my
-web.2 nginx:latest slave02 Running Running 1 second ago r1rzm3tmq456 my-web.3 nginx:latest slave01 Running Running 17 seconds ago
檢視建立服務

二、測試網路連通

1、工作節點1與2:進入容器測試連通情況

# 進入容器
docker exec -it ID名稱 sh
# 工作節點1
/ # ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:0A:00:00:07  
          inet addr:10.0.0.7  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

# 工作節點2
/ # ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:0A:00:00:08  
          inet addr:10.0.0.8  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

2、測試通訊

# 工作節點1:容器間測試通訊
/ # ping 10.0.0.8
PING 10.0.0.8 (10.0.0.8): 56 data bytes
64 bytes from 10.0.0.8: seq=0 ttl=64 time=0.737 ms
64 bytes from 10.0.0.8: seq=1 ttl=64 time=0.443 ms
64 bytes from 10.0.0.8: seq=2 ttl=64 time=0.450 ms

三、其他動作

將現有服務連線到overlay網路

docker service update --network-add my-network hello

刪除正在執行的網路連線

docker service update --network-rm my-network hello