如果映射容器目录中的现有容器,容器不会启动

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

docker run -d --name web1 -p 8080:80 -v /vagrant/web/config:/etc/nginx/conf.d nginx 

但由于某种原因,如果我指定目录中存在的容器 – 容器被创build(我得到身份证返回),但它不会启动。

如果我运行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目录,我指定的东西 – 它的作品。

log /var/log/upstart/docker.log没有相关logging

附加信息

  • Docker版本1.11.2,build b9f10c9
  • Ubuntu Trusty

主机中/ vagrant / web / config的内容是什么? 这个问题可能是你的nginxconfiguration文件中的一个错误,它会阻止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