Nginx未在Docker容器中运行

时间:2018-09-11 02:35:46

标签: docker nginx

我的Docker文件:-

FROM basecentos6
MAINTAINER user@gmail.com
RUN yum -y update && yum install -y epel-release && yum install -y nginx && yum install -y git && yum install -y java-1.8.0-openjdk
EXPOSE 80
CMD ["nginx","-g","daemon off;"]

Docker容器

sudo docker run -p80:80 -it withnginx6 bash

创建容器后,我正在使用以下命令检查nginx的状态

service nginx status

它说nginx已停止。

如何使用CMD选项使用docker文件使nginx在容器内运行

2 个答案:

答案 0 :(得分:1)

您已经按顺序启动了CMD命令,然后运行了容器,否则,将使用bash命令覆盖init进程。一旦启动,您可以打开容器中的连接并检查:

$ docker run withnginx6
$ docker exec -it ae0b5b04a3a1 bash # assuming id of the container that's running
  [root@ae0b5b04a3a1 /]# service nginx status
  nginx (pid  1) is running...

答案 1 :(得分:0)

service nginx status 

您正在检查运行nginx的本地系统。 但是您是通过docker部署了nginx的,所以您应该通过

进行检查
docker ps -a

其中ps显示当前正在运行的所有容器,-a也显示已停止的容器(由于错误)。您可以使用

调试并读取已停止容器的日志
docker logs <container_id>

从ps -a输出之前获取container_id的位置

附带说明:有一个官方的nginx容器,您可以使用此容器: https://hub.docker.com/_/nginx/