Friday 10 June 2022

Docker Container Overlay Network Driver Example


The overlay network driver creates a distributed network among multiple Docker daemon hosts.


sudo docker network ls

NETWORK ID          NAME                DRIVER              SCOPE

bd060584d617        bridge              bridge              local

550b260adc35        host                host                local

2440bbbbab37        none                null                local


sudo docker network create overlay-A --driver overlay

vgvneeja0bp73r4nxsncs8knh


sudo docker network create overlay-B --driver overlay

pbsldt50bl4lh1o090424iyvq


sudo docker network ls | grep overlay-

vgvneeja0bp7        overlay-A           overlay             swarm

pbsldt50bl4l        overlay-B           overlay             swarm


#create a service using both network

sudo docker service create --mode global --name test-overlay --network overlay-A --network overlay-B nginx:alpine

qpnrsmhl2p9eo419fhetwfrih

overall progress: 3 out of 3 tasks 

64z9yjpcsg3w: running   [==================================================>] 

kj7q08sfk4oj: running   [==================================================>] 

o4adqybqntez: running   [==================================================>] 

verify: Service converged 


sudo docker service ls

ID                  NAME                MODE                REPLICAS            IMAGE               PORTS

qpnrsmhl2p9e        test-overlay        global              3/3                 nginx:alpine      


sudo docker service ps test-overlay

ID                  NAME                                     IMAGE               NODE                DESIRED STATE       CURRENT STATE                ERROR               PORTS

zbj1w6taqv3n        test-overlay.o4adqybqntezkuluy709304os   nginx:alpine        ip-172-31-15-10     Running             Running about a minute ago                       

ylfbqxavtxyp        test-overlay.kj7q08sfk4ojxq9cq9ezejk78   nginx:alpine        ip-172-31-0-113     Running             Running about a minute ago                       

u9lapxy4i3fn        test-overlay.64z9yjpcsg3wu0yivbxfjkasd   nginx:alpine        ip-172-31-8-58      Running             Running about a minute ago             


sudo docker ps

CONTAINER ID        IMAGE                  COMMAND                  CREATED              STATUS              PORTS                    NAMES

cfce8705c96e        nginx:alpine           "/docker-entrypoint.…"   About a minute ago   Up About a minute   80/tcp                   test-overlay.o4adqybqntezkuluy709304os.zbj1w6taqv3nbbigfs5k6bebh


#list the interfaces

 sudo docker exec test-overlay.o4adqybqntezkuluy709304os.zbj1w6taqv3nbbigfs5k6bebh ip link

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN qlen 1000

    link/ipip 0.0.0.0 brd 0.0.0.0

29: eth1@if30: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1450 qdisc noqueue state UP 

    link/ether 02:42:0a:00:02:05 brd ff:ff:ff:ff:ff:ff

31: eth2@if32: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP 

    link/ether 02:42:ac:13:00:03 brd ff:ff:ff:ff:ff:ff

33: eth0@if34: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1450 qdisc noqueue state UP 

    link/ether 02:42:0a:00:01:05 brd ff:ff:ff:ff:ff:ff


 sudo docker exec test-overlay.o4adqybqntezkuluy709304os.zbj1w6taqv3nbbigfs5k6bebh ifconfig

eth0      Link encap:Ethernet  HWaddr 02:42:0A:00:01:05  

          inet addr:10.0.1.5  Bcast:10.0.1.255  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)


eth1      Link encap:Ethernet  HWaddr 02:42:0A:00:02:05  

          inet addr:10.0.2.5  Bcast:10.0.2.255  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)


eth2      Link encap:Ethernet  HWaddr 02:42:AC:13:00:03  

          inet addr:172.19.0.3  Bcast:172.19.255.255  Mask:255.255.0.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:27 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:3212 (3.1 KiB)  TX bytes:0 (0.0 B)


lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:65536  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:1000 

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


sudo docker exec test-overlay.o4adqybqntezkuluy709304os.zbj1w6taqv3nbbigfs5k6bebh ip route

default via 172.19.0.1 dev eth2 

10.0.1.0/24 dev eth0 scope link  src 10.0.1.5 

10.0.2.0/24 dev eth1 scope link  src 10.0.2.5 

172.19.0.0/16 dev eth2 scope link  src 172.19.0.3 


sudo docker inspect test-overlay.o4adqybqntezkuluy709304os.zbj1w6taqv3nbbigfs5k6bebh | grep overlay- -A2

                "overlay-A": {

                    "IPAMConfig": {

                        "IPv4Address": "10.0.1.5"

--

                "overlay-B": {

                    "IPAMConfig": {

                        "IPv4Address": "10.0.2.5"


No comments:

Post a Comment