Docker Linux Container - Open vSwitch Containers - Múltiplos Servidores
Neste tutorial, vou abordar de uma forma um pouco mais complexa a configuração do Docker Container. Pensando no conceito de Cloud Computing e também no conceito de múltiplas zonas, resolvi então implementar o Open vSwitch (OVS) no ambiente em que estou estudando.
Parte 6: Criando os Containers
Agora é a hora de brincar entre os containers.
Servidor docker-centos6-5-srv1:
# cd /etc/docker
# vim docker-centos6-5-srv1-c1.sh
Subindo o Container:
root@docker-centos6-5-srv1 docker]# sh docker-centos6-5-srv1-c1.sh
dc0ab7ca0dcfaf9e2d0f286f1c5921530513357f3f6ba7c0a6bd37bb39173a31
Acessando o Container:
# docker attach be6e73533919
root@docker-ubuntu-1:/#
root@docker-ubuntu-1:/# ifconfig
Servidor docker-centos6-5-srv2:
# cd /etc/docker
# vim docker-centos6-5-srv2-c1.sh
Subindo o Container:
[root@docker-centos6-5-srv2 docker]# sh docker-centos6-5-srv2-c1.sh
9d2bcc44f2b04eb9ed478118e504617da0dacf237e5db809b8048661b30fbb40
[root@docker-centos6-5-srv2 docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9d2bcc44f2b0 ubuntu:14.04 "/bin/bash" 3 seconds ago Up 2 seconds gloomy_babbage
Acessando o Container:
[root@docker-centos6-5-srv2 docker]# docker attach 9d2bcc44f2b0
root@docker-ubuntu-2:/#
root@docker-ubuntu-2:/# ifconfig
Servidor docker-centos6-5-srv1:
# cd /etc/docker
# vim docker-centos6-5-srv1-c1.sh
#!/bin/bash # Iniciando o Container. # Não ativando nenhum tipo de rede pelo docker. # Ativando privilégios do root. # Aqui o legal da brincadeira. Criando uma interface Bridge, passando um IP, MAC, GW e por fim o hostname do Container. # -d o Container rodará em background -t -i para usar o /bin/bash. docker run \ --net="none" \ -v /opt/ubuntu:/map-dir-ubuntu \ --privileged \ --lxc-conf="lxc.network.type = veth" \ --lxc-conf="lxc.network.link = docker0" \ --lxc-conf="lxc.network.flags = up" \ --lxc-conf="lxc.network.hwaddr=5e:1e:bf:52:7c:ac" \ --lxc-conf="lxc.network.ipv4 = 172.16.42.10/24" \ --lxc-conf="lxc.network.ipv4.gateway = 172.16.42.1" \ --lxc-conf="lxc.utsname=docker-ubuntu-1" \ -d -t -i ubuntu /bin/bash
Subindo o Container:
root@docker-centos6-5-srv1 docker]# sh docker-centos6-5-srv1-c1.sh
dc0ab7ca0dcfaf9e2d0f286f1c5921530513357f3f6ba7c0a6bd37bb39173a31
Acessando o Container:
# docker attach be6e73533919
root@docker-ubuntu-1:/#
root@docker-ubuntu-1:/# ifconfig
eth0 Link encap:Ethernet HWaddr 5e:1e:bf:52:7c:ac inet addr:172.16.42.10 Bcast:172.16.42.255 Mask:255.255.255.0 inet6 addr: fe80::5c1e:bfff:fe52:7cac/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:468 (468.0 B) TX bytes:468 (468.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host 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:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Servidor docker-centos6-5-srv2:
# cd /etc/docker
# vim docker-centos6-5-srv2-c1.sh
#!/bin/bash # Iniciando o Container. # Não ativando nenhum tipo de rede pelo docker. # Ativando privilégios do root. # Aqui o legal da brincadeira. Criando uma interface Bridge, passando um IP, MAC, GW e por fim o hostname do Container. # -d o Container rodará em background -t -i para usar o /bin/bash. docker run \ --net="none" \ -v /opt/ubuntu:/map-dir-ubuntu \ --privileged \ --lxc-conf="lxc.network.type = veth" \ --lxc-conf="lxc.network.link = docker0" \ --lxc-conf="lxc.network.flags = up" \ --lxc-conf="lxc.network.hwaddr=5e:1e:bf:52:7c:bb" \ --lxc-conf="lxc.network.ipv4 = 172.16.42.20/24" \ --lxc-conf="lxc.network.ipv4.gateway = 172.16.42.2" \ --lxc-conf="lxc.utsname=docker-ubuntu-2" \ -d -t -i ubuntu /bin/bash
Subindo o Container:
[root@docker-centos6-5-srv2 docker]# sh docker-centos6-5-srv2-c1.sh
9d2bcc44f2b04eb9ed478118e504617da0dacf237e5db809b8048661b30fbb40
[root@docker-centos6-5-srv2 docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9d2bcc44f2b0 ubuntu:14.04 "/bin/bash" 3 seconds ago Up 2 seconds gloomy_babbage
Acessando o Container:
[root@docker-centos6-5-srv2 docker]# docker attach 9d2bcc44f2b0
root@docker-ubuntu-2:/#
root@docker-ubuntu-2:/# ifconfig
eth0 Link encap:Ethernet HWaddr 5e:1e:bf:52:7c:ac inet addr:172.16.42.20 Bcast:172.16.42.255 Mask:255.255.255.0 inet6 addr: fe80::5c1e:bfff:fe52:7cac/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:468 (468.0 B) TX bytes:468 (468.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host 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:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
*Gostei deste Open vSwitch, solução bem interessante.
------------------------------------------------------
¿? -> keyboard Error: No Keyboard Present, PRESS F1 to continue.