Pergunta com conexão ao contêiner Docker no servidor Ubuntu virtualizado

1

Como web designer, tenho usado o VirtualBox para configurar servidores de trabalho temporários para meus projetos. Ultimamente, tenho tentado reduzir o número de máquinas virtuais no meu laptop (devido às limitações da capacidade do SSD) e achei que aprender e usar o Docker pode ser benéfico em termos de armazenamento do sistema, implantação de trabalho concluído e no futuro da proteção de minhas qualificações. . Até agora, eu tenho usado o adaptador somente host além do NAT para conectar ao servidor APM na minha máquina virtual do meu host (que normalmente é o Windows).

A seguinte configuração é / etc / network / interfaces que eu uso normalmente:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

# VBOX Host-only adapter
auto eth1
iface eth1 inet static
  network    192.168.56.0
  address    192.168.56.80
  netmask    255.255.255.0

Estou pensando no aliasing de IP para atribuir mais IPs ao adaptador somente host ( 192.168.56.81, 192.168.56.82... ) e rotear cada um deles para cada um dos contêineres, cada um executando um de meus projetos. Parece que o Docker consegue ter sua própria interface de rede, docker0 , que não pode ser acessada a partir da máquina host do VirtualBox. Pelo que posso dizer, tenho algumas abordagens possíveis:

  1. direcione a conexão do host para o adaptador somente host para o interface docker0
  2. de alguma forma, encontra uma maneira de se conectar à interface docker0 do host máquina, ou
  3. de alguma forma, encontrar uma maneira de conectar os contêineres a interfaces somente de host

Eu quero saber qual dessas abordagens é a maneira mais viável de tomar. Não tenho certeza se a minha pergunta é clara o suficiente. Por favor, deixe-me saber se eu deveria fornecer mais informações para tornar esta questão responsável.

    
por K.H. 31.05.2015 / 19:29

1 resposta

0

Na minha opinião, para o seu uso, você não deve ter que mergulhar na loucura do trabalho em rede do docker.

Recomendaria que você usasse o mapeamento de portas ao executar seu contêiner.

Por exemplo, digamos que você tenha criado uma imagem apache no docker por meio do Dockerfile. Quando você quiser executar esse contêiner, use a opção -p para mapear as portas:

sudo docker run -d -p=80:80 -p=443:443 -P apache:latest

Ao fazer isso, a porta local 80 será mapeada para a porta 80 desse contêiner.

Então, acessando o link em seu navegador, você acessará seu contêiner.

Se a porta 80 já estiver sendo usada localmente, você pode usar, por exemplo, a porta 8080: -p 8080:80 e acessar link .

Se você tiver vários projetos, poderá usar várias portas ou usar o virtualhosts dentro do contêiner do apache e usar o alias do dns em /etc/hosts dos hosts.

    
por aklmie 29.07.2015 / 16:28