redes que network hub español entre crear contenedores contenedor comunicacion compose comandos apache docker centos centos7

apache - network - que es docker compose



Docker: indica que la conexión se rechazó al intentar conectarse a un puerto publicado (3)

A pesar de que creó los contenedores en su máquina local. En realidad, se están ejecutando en una máquina diferente (una máquina virtual)

Primero, compruebe cuál es la IP de su docker machine (la máquina virtual)

$docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM default * virtualbox Running tcp://192.168.99.100

A continuación, ejecute el comando curl para ver el sitio web predeterminado en su servidor web Apache dentro del contenedor

curl http://192.168.99.100:9191

Soy un novato en Docker. Estoy creando un ejemplo Hello, World. Todo lo que intento hacer es mostrar Apache en una ventana acoplable y luego ver el sitio web predeterminado desde la máquina host.

Dockerfile

FROM centos:latest RUN yum install epel-release -y RUN yum install wget -y RUN yum install httpd -y EXPOSE 80 ENTRYPOINT ["/usr/sbin/httpd", "-D", "FOREGROUND"]

Y luego lo construyo: > docker build .

Y luego lo etiqueto:

docker tag 17283f566320 my:apache

Y luego lo ejecuto:

> docker run -p 80:9191 my:apache AH00558: httpd: Could not reliably determine the server''s fully qualified domain name, using 172.17.0.2. Set the ''ServerName'' directive globally to suppress this message

Entonces corre ...

En otra ventana de terminal, intento emitir el comando curl para ver el sitio web predeterminado.

> curl -XGET http://0.0.0.0:9191 curl: (7) Failed to connect to 0.0.0.0 port 9191: Connection refused > curl -XGET http://localhost:9191 curl: (7) Failed to connect to localhost port 9191: Connection refused > curl -XGET http://127.0.0.1:9191 curl: (7) Failed to connect to 127.0.0.1 port 9191: Connection refused

o intento localhost

Solo para asegurarme de que tengo el puerto correcto, ejecuto esto:

> docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5aed4063b1f6 my:apachep "/usr/sbin/httpd -D F" 43 seconds ago Up 42 seconds 80/tcp, 0.0.0.0:80->9191/tcp angry_hodgkin


Gracias a todos. Mis puertos fueron revertidos:

> docker run -p 9191:80 my:apache


Si está ejecutando la ventana acoplable en la máquina Ubuntu como nativa, debería poder acceder a su contenedor con localhost. Si está utilizando Mac o Windows, su contenedor acoplador no se ejecuta en el host local sino en su IP. puede obtener su contenedor ip con el comando docker inspect <container id> | grep IPAddress docker inspect <container id> | grep IPAddress o si está utilizando docker-machine docker-machine ip <docker_machine_name> Información relacionada:

por lo que su curl debe ser algo así como este curl <container_ip>:<container_exposed_port>

también puede etiquetar su imagen en el comando de compilación con param -t como este: docker build -t my:image .

Otro consejo es que puedes optimizar tu archivo docker combinando los comandos de instalación de yum como este:

RUN yum install -y / epel-release / wget / httpd

http://blog.tutum.co/2014/10/22/how-to-optimize-your-dockerfile/