Docker Consul Múltiples contenedores en una sola configuration de máquina virtual

Docker ordera que he usado para girar el recipiente del cónsul-

  1. Creado estático Ip para el contenedor 1 = docker network create --subnet=172.18.0.0/16 C1

  2. Ejecuta un contenedor de consul a esa IP:
    docker run -d --net C1 --ip 172.18.0.10 -p 48301:8301/tcp -p 48400:8400/tcp -p 48600:8600/tcp -p 48300:8300/tcp -p 48302:8302/tcp -p 48302:8302/udp -p 48500:8500/tcp -p 48600:8600/udp -p 48301:8301/udp --name=test1 consul agent -client=172.18.0.10 -bind=172.18.0.10 -server -bootstrap -ui

  3. De igual forma, estática Ip para containter 2 – docker network create --subnet=172.19.0.0/16 C2

  4. docker run -d --net C2 --ip 172.19.0.10 -p 58301:8301/tcp -p 58400:8400/tcp -p 58600:8600/tcp -p 58300:8300/tcp -p 58302:8302/tcp -p 58302:8302/udp -p 58500:8500/tcp -p 58600:8600/udp -p 58301:8301/udp --name=test2 consul agent -client=172.19.0.10 -bind=172.19.0.10 -server -bootstrap -ui -join 192.168.99.100:48301

El container container test2 en IP 172.19.0.10:8301 no puede cotillear con el 172.18.0.10:8301. Recibo el post de No acuse de recibo.

También probé el enlace para vincular ambos contenedores. Pero eso no funcionó.

¿Alguien me puede avisar si estoy haciendo todo lo correcto?

Cuando crea una networking definida por el usuario en el daemon docker, hay algunas properties de estas networkinges que debe tener en count.

Cada contenedor en la networking puede comunicarse inmediatamente con otros contenedores en la networking. Sin embargo, la propia networking aísla los contenedores de las networkinges externas. Documentación Docker

Eso efectivamente dice lo que estás experimentando. Los contenedores no pueden comunicarse entre ellos porque están aislados unos de otros (residen en networkinges diferentes).

Hasta el punto de --link , no es compatible con networkinges definidas por el usuario.

Dentro de una networking de puente definida por el usuario, los enlaces no son compatibles. Documentación Docker

La solución sería simplemente poner ambos contenedores en la misma networking. No veo una aparente necesidad de usar dos networkinges diferentes de su descripción. Solo usa un --ip diferente para el segundo.