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.

[ Hits: 16.522 ]

Por: evandro matos couto em 27/05/2015


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

#!/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)

Página anterior     Próxima página

Páginas do artigo
   1. Definição / Cenário
   2. Configuração do OpenvSwitch
   3. Instalando o Docker
   4. Ajustando as Bridges
   5. Testando
   6. Criando os Containers
   7. Testando o ambiente
Outros artigos deste autor

Nagios 4 com Check_MK 1.2.5i3 no CentOS 6.5 x64

CentOS 5.8 - MySQL Cluster 7.1 + HAProxy

HAproxy + Stunnel (https) + CentOS 6

Alta disponibilidade: CentOS 6 - configurando os pacotes DRBD com gfs2 - parte 1

Clonagem de HDs com o PHANTOM & UDPCAST no CentOS

Leitura recomendada

Os novos plugins do Compiz

OwnCloud : Crie a sua própria nuvem - Alternativa ao Dropbox

Certificação Linux: O caminho das pedras

Instalando o Debian em uma máquina virtual (VirtualBox)

Instalando o DVD Decrypter no GNU/Linux

  
Comentários
[1] Comentário enviado por removido em 28/05/2015 - 21:24h

Excelente artigo, obrigado por publicá-lo.

*Gostei deste Open vSwitch, solução bem interessante.

------------------------------------------------------
¿? -> keyboard Error: No Keyboard Present, PRESS F1 to continue.

[2] Comentário enviado por vandocouto em 28/05/2015 - 21:52h

:)
Mais sobre docker e cloud visite o meu blog.
http://tutoriaisgnulinux.com

Abs,
Evandro Couto.

[3] Comentário enviado por cesarufmt em 01/06/2015 - 10:37h

Estou estudando esse tema (docker). Muito bom seu artigo. Obrigado pela contribuição! o/

[4] Comentário enviado por Lisandro em 28/06/2016 - 13:02h

Massa. Ótimo artigo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts