Docker 如果映射存在于容器目录中,则容器不会启动

Docker 如果映射存在于容器目录中,则容器不会启动,docker,Docker,我正在尝试创建一个目录映射到主机目录的容器 docker run -d --name web1 -p 8080:80 -v /vagrant/web/config:/etc/nginx/conf.d nginx 但由于某种原因,如果我指定了容器中存在的目录,则创建了容器(我得到了ID),但它没有启动 如果我运行docker ps我看不到容器,但是如果我运行docker ps-a我看到: CONTAINER ID IMAGE COMMAND

我正在尝试创建一个目录映射到主机目录的容器

docker run -d --name web1 -p 8080:80 -v /vagrant/web/config:/etc/nginx/conf.d nginx
但由于某种原因,如果我指定了容器中存在的目录,则创建了容器(我得到了ID),但它没有启动

如果我运行
docker ps
我看不到容器,但是如果我运行
docker ps-a
我看到:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
6b8bde856fdc        nginx               "nginx -g 'daemon off"   10 minutes ago      Exited (1) 10 minutes ago                       web1
如果我也这样做,但不是现有的
/etc/nginx/conf.d
dir,我会指定其他东西-它可以工作

日志
/var/log/upstart/docker.log

附加信息

  • Docker版本1.11.2,版本b9f10c9
  • 可靠的

主机中/vagrant/web/config的内容是什么?
问题可能是某个nginx配置文件中的错误导致nginx无法启动。如果nginx没有启动,容器将停止运行。

主机中/vagrant/web/config的内容是什么?
问题可能是某个nginx配置文件中的错误导致nginx无法启动。如果nginx没有启动,容器将停止运行。

运行另一个具有相同设置和
bash
作为入口点的容器。然后从原始容器手动启动命令并查找错误:

$ docker run -it --entrypoint=/bin/bash --name web2 -p 8080:80 -v /vagrant/web/config:/etc/nginx/conf.d nginx
root@7553b294969f:/# nginx -g 'daemon-off'   

# this is just an example with a badly formatted default.conf file
2016/07/04 08:14:15 [emerg] 10#10: unexpected end of parameter, expecting ";" in command line
nginx: [emerg] unexpected end of parameter, expecting ";" in command line

使用与入口点相同的设置和
bash
运行另一个容器。然后从原始容器手动启动命令并查找错误:

$ docker run -it --entrypoint=/bin/bash --name web2 -p 8080:80 -v /vagrant/web/config:/etc/nginx/conf.d nginx
root@7553b294969f:/# nginx -g 'daemon-off'   

# this is just an example with a badly formatted default.conf file
2016/07/04 08:14:15 [emerg] 10#10: unexpected end of parameter, expecting ";" in command line
nginx: [emerg] unexpected end of parameter, expecting ";" in command line

您应该使用命令检查日志:
docker logs 6b8bde856fdc
来显示原因是什么?您可以显示主机上执行的
ls/vagrant/web/config
的输出吗?您应该使用命令检查日志:
docker logs 6b8bde856fdc
来显示原因是什么?您可以显示
ls的输出吗/请在您的主机上执行vagrant/web/config