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;"]
sudo docker run -p80:80 -it withnginx6 bash
创建容器后,我正在使用以下命令检查nginx的状态
service nginx status
它说nginx已停止。
如何使用CMD选项使用docker文件使nginx在容器内运行
答案 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/