Docker连接被-ti bash启动时被拒绝
我是新来的docker,我试图运行linuxconfig/lemp-php7
图像。 一切工作正常,我可以访问安装在容器上的nginx web服务器。 要运行这个图像我使用这个命令:
sudo docker run linuxconfig/lemp-php7
当我试图运行下面的命令通过bash访问容器的图像我无法连接到nginx,我得到了connection refused
错误消息。 命令: sudo docker run -ti linuxconfig/lemp-php7 bash
我试了几次,所以我很确定这不是巧合。
为什么会这样呢? 这是这个特定图像特有的问题,还是这是一个普遍的问题。 我怎样才能访问容器的shell并同时访问Web服务器?
我真的很想了解这个行为,以提高我对docker的一般理解。
docker run
运行指定的命令, 而不是通常运行的容器。 在你的情况,它似乎是 supervisord
,这大概反过来运行Web服务器。 所以你可以防止发生这种情况
我的首选方法(除非我试图debugging的情况下容器将无法正常启动的情况下)是正常运行容器后执行以下操作:
docker exec -i -t $CONTAINER_ID /bin/bash