为什么在指定了--restart开关时我的Nginx docker容器无法启动

时间:2017-04-19 09:04:23

标签: nginx docker restart

我在Ubuntu 14.04上运行Nginx作为我的.NET Core Web API的反向代理。它运行良好,从命令行开始:

docker run --name=nginx -d -v /mercury/config/nginx:/etc/nginx/conf.d -v /mercury/logs/nginx:/var/log/nginx -p0.0.0.0:443:443 -t docker-registry.public-upstream.gray.net/nginx

我希望容器在崩溃或服务器重新启动时重新启动,这可以通过在命令行中添加--restart=unless-stopped来实现(根据文档)。

然而,当我这样做时,我收到错误:

docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"--restart=unless-stopped\": executable file not found in $PATH".

我不知道从哪里开始 - 它正在寻找什么可执行文件,因为我正在运行一个容器?为什么标志会出现此错误,但是如果没有它,docker可以正常启动容器吗?

我在一个Google周围挖了一个,但一直找不到解决办法。有很多类似的问题,但很少有解决方案,似乎没有一个似乎适用于我的情况。

修改 我应该提一下,在我的情况下,这是特定于nginx - 我自己的容器在指定的--restart开关运行正常。

1 个答案:

答案 0 :(得分:0)

试试这个。

docker run --name=nginx --restart unless-stopped -d -v /mercury/config/nginx:/etc/nginx/conf.d -v /mercury/logs/nginx:/var/log/nginx -p0.0.0.0:443:443 -t docker-registry.public-upstream.gray.net/nginx