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: 17.307 ]

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

Clonagem de HDs com o PHANTOM & UDPCAST no CentOS

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

Nagios 4 com Check_MK 1.2.5i3 no CentOS 6.5 x64

Instalação do Nagios Core no CentOS 5.5

Quota - Criando e administrando no CentOS

Leitura recomendada

Avaliação da interface do sistema operacional Linux

Implementando Cacti em distribuições Debian

Instalação da Zabbix 3.0 em Debian 8.6 Jessie

Instalação do Oracle 10g 86 x64 no Cent OS

Instalando o CACIC no Debian 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