Portas abertas para contêineres do Docker

1

Estou começando com o docker, apenas tentando executar um contêiner do Docker com um aplicativo da Web e tentando vê-lo em nossa rede local.

Instalei um novo Ubuntu 14 LTS no VirtualBox, sem nenhum serviço extra (sem GUI, sem LAMP, sem OpenSSH ...) e, em seguida, instalei apenas o Docker:

curl -sSL https://get.docker.com/ | sh

e executei um contêiner Odoo (OpenERP) (executava anteriormente um contêiner pós-frete)

docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres
docker run -p 127.0.0.1:8069:8069 --name odoo --link db:db -t odoo

Muito simples. Parece que está funcionando. Não instalei o navegador, mas conectei-me via telnet ao 127.0.0.1:8069 e enviei a solicitação GET. Atendeu.

Agora eu preciso acessar o serviço de fora. Quão?

  • A interface de rede do VirtualBox está configurada como ponte.

  • Eu configurei um IP fixo (192.168.0.150) na interface Ubuntu eth0.

  • UFW está desativado

  • Posso fazer ping para 192.168.0.150 de outros computadores e o ubuntu responde.

  • Mas o navegador não detecta nada em 192.168.0.150:8069

  • Não é possível conectar via telnet a 192.168.0.150:8069

Suponho que deve haver alguma configuração de redirecionamento de porta ou mapeamento de interface. Você poderia me ajudar por favor? :)

Kaikus
fonte

Respostas:

3

Finalmente eu encontrei a resposta. O problema foi a atribuição da porta. Se você definir:

-p 127.0.0.1:8069:8069

você está expondo SOMENTE localhost. Essa é uma ótima opção de segurança se você precisar apenas de um serviço local e quiser acessá-lo apenas no servidor. Mas, se você deseja expor a porta a TODAS as interfaces, basta digitar:

-p 8069:8069

Em seguida, você pode acessar o serviço pela rede via interface eth0 :)

Kaikus
fonte
Depois de encontrar esta resposta e concordar com oddoargentina, o comando correto para acessar o contêiner do mundo externo é o sudo docker run -d --link aeroo_docs: aeroo -p 8069: 8069 -p 8072: 8072 -v / odoo80 / config: / etc / odoo -v / odoo80 / sources: / mnt / extra-addons -v / odoo80 / data_dir: / var / lib / odoo --link db-odoo80: db --restart = always --name odoo80 adhoc / odoo -adhoc: 8,0
razor7