Como poderia rastrear o meu contentor do meu hospedeiro?

criei um Contentor de acopladores ubuntu no meu mac

CONTAINER ID        IMAGE                                                         COMMAND                  CREATED             STATUS                      PORTS                  NAMES
5d993a622d23        ubuntu                                                        "/bin/bash"              42 minutes ago      Up 42 minutes               0.0.0.0:123->123/tcp   kickass_ptolemy

marquei a porta como 123.

O meu recipiente IP é 172.17.0.2

docker inspect 5d993a622d23 | grep IP
"LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.2",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
                    "IPAMConfig": null,
                    "IPAddress": "172.17.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
No meu Mac, tento localizar o meu contentor.

Ping 172.17.0.2, tenho um pedido de tempo limite para o icmp_seq 0....

O que devo fazer? A minha máquina local pode localizar o contentor que instalei. Perdi alguma instalação da aplicação no meu contentor, que é um sistema ubuntu simples?

Author: Mark Stosberg, 2016-08-30

4 answers

Você não pode localizar ou acessar uma interface de contêiner diretamente com o acoplador para Mac.

A melhor solução actual é ligar-se aos seus contentores de outro contentor. No momento não há nenhuma maneira que nós podemos fornecer roteamento a estes contêineres devido a problemas com OSX que a Apple ainda não tem resolvido. estamos a seguir esta exigência, mas não podemos fazer nada. neste momento.

Docker Toolbox / VirtualBox

Ao executar o acoplador Toolbox, Docker Machine via VirtualBox ou qualquer VM VirtualBox (como uma definição Vagrant ) Você pode configurar uma "rede apenas para Máquinas" e aceder à rede Docker VMs através disso.

Se estiver a utilizar o default boot2docker VM, não altere a interface existente, pois irá impedir que muitos utilitários do Docker funcionem, adicione uma nova interface.

Também terá de configurar o encaminhamento do seu Mac para as redes de contentores através do novo endereço IP do seu VM. No meu caso, a O intervalo de rede do Docker é 172.22.0.0/16 e o IP do adaptador da Máquina apenas no VM é 192.168.99.100.

sudo route add 172.22.0.0/16 192.168.99.100

Adicionar uma via permanente ao osx {[8] } é um pouco mais complexa

Depois pode chegar aos contentores do seu Mac

machost:~ ping -c 1 172.22.0.2
PING 172.22.0.2 (172.22.0.2): 56 data bytes
64 bytes from 172.22.0.2: icmp_seq=0 ttl=63 time=0.364 ms

--- 172.22.0.2 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.364/0.364/0.364/0.000 ms
 13
Author: Matt, 2018-02-21 03:41:39

Em alternativa, se o seu contentor tiver uma shell bash incorporada, pode aceder-lhe através de

docker exec -it <CONTAINER ID> bash

E depois podes localizar o teu ip virtual

 3
Author: Cesar Gomez Velazquez, 2017-04-17 18:41:23

Configuração:

PC-A a é a máquina de docker, PC-B é um outro PC na rede. Para ping/access docker container from PC-B, execute as regras abaixo iptables-rules in the host.

iptables -A FORWARD -i docker0 -o eth0 -j ACCEPT

iptables -A FORWARD -i eth0 -o docker0 -j ACCEPT

Nota: eth0 é a interface da máquina e docker0 é a ponte virtual predefinida do acoplador.

Agora adicione a via em PC-B

route add -net <dockerip> netmask <net mask> gw <docker's host>

Contactar/aceder directamente aos Serviços de contentores.

 0
Author: Guru, 2017-07-29 22:53:55

Funciona neste cenário:

  1. máquina do Windows
  2. VM Linux instalado na máquina do Windows
  3. contentor do acoplador instalado na máquina Linux VM
Agora tens de anotar isto. Os contentores estão numa rede isolada, mas estão ligados à internet através do seu hospedeiro de contentores de Docker adapter.So você tem que dizer ao kernel linux para estar disponível na sua rede e depois no seu VM Linux:

Sysctl net.ipv4.conf.todo.forwarding=1

Sudo iptables-P FORWARD ACCEPT

Agora, na sua máquina do Windows, tem de adicionar uma rota para a nossa rede de contentores: route add "Docker container network ""Linux VM IP" por exemplo

Route add 172.17.0.0/16 192.168.1.20

Blockquote

 0
Author: Ángel Ugarte, 2018-05-08 15:28:46