使用-ti bash

时间:2017-04-07 21:59:46

标签: docker

我是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的一般理解。

1 个答案:

答案 0 :(得分:3)

docker run运行指定的命令而不是该容器通常运行的内容。在您的情况下,它appears to be supervisord,可能会运行Web服务器。所以你要防止这种情况发生。

我首选的方法(除非我尝试调试容器甚至无法正常启动的情况),在正常运行容器后执行以下

docker exec -i -t $CONTAINER_ID /bin/bash