Soy nuevo en Docker e intenté ejecutar la linuxconfig/lemp-php7 . Todo funcionó bien y pude acceder al servidor web nginx instalado en el contenedor. Para ejecutar esta imagen usé este comando:
sudo docker run linuxconfig/lemp-php7
Cuando traté de ejecutar la imagen con el siguiente comando para obtener acceso al contenedor a través de bash, no pude conectarme a nginx y recibí el mensaje de error de connection refused . Comando: sudo docker run -ti linuxconfig/lemp-php7 bash
Lo intenté varias veces, así que estoy bastante seguro de que no es ningún tipo de coincidencia.
¿Por qué pasó esto? ¿Es este un problema específico de esta imagen en particular o es un problema general? ¿Y cómo puedo acceder al shell del contenedor y acceder al servidor web al mismo tiempo?
Realmente me gustaría entender este comportamiento para mejorar mi comprensión general de la ventana acoplable.
docker run ejecuta el comando especificado en lugar de lo que normalmente ejecutaría ese contenedor. En su caso,parece estar supervisord , lo que presumiblemente a su vez ejecuta el servidor web. Así que estás evitando que nada de eso suceda.
Mi método preferido (excepto en los casos en los que intento depurar casos en los que el contenedor ni siquiera se inicia correctamente) es hacer lo siguiente después de ejecutar el contenedor normalmente:
docker exec -i -t $CONTAINER_ID /bin/bash