当指定--restart开关时,为什么我的Nginx docker容器不会启动

当指定--restart开关时,为什么我的Nginx docker容器不会启动,nginx,docker,restart,Nginx,Docker,Restart,我在Ubuntu 14.04上运行Nginx,作为.NET核心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 我希望容器在崩溃或服务器重新启

我在Ubuntu 14.04上运行Nginx,作为.NET核心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=除非停止
来实现

但是,当我执行此操作时,会出现以下错误:

docker:daemon的错误响应:oci运行时错误:container\u linux.go:247:启动容器进程导致“exec:\”--restart=除非停止\“:在$PATH中找不到可执行文件”。

我不确定该从这里走到哪里——因为我正在运行一个容器,所以它在寻找什么可执行文件?为什么标记会出现此错误,但docker可以在没有标记的情况下启动容器

我在谷歌搜索了一个网站,但还没有找到解决方案。有相当多的类似问题,但几乎没有解决方案,似乎没有适用于我的情况

编辑: 我应该提到,在我的例子中,这是针对nginx的-我自己的容器在指定了
--restart
开关的情况下运行良好。

试试这个

docker run--name=nginx--restart除非停止-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
试试这个


docker run--name=nginx--restart除非停止-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=always
吗?是的,它给出了相同的错误。在我看来,这似乎与docker重启监视器的内部设置有关,但它最终必须与配置相关。这将起作用-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 nginxYes,这几乎就是我指定的命令行(内部我们有一个docker hub的代理,这是唯一的区别)。我的问题是如何让
--restart
命令行开关工作。一旦我添加了它,就会抛出我提到的错误。你能发布
docker run
命令(使用重启策略)吗这就是错误?您是否尝试过使用
--restart=always
?是的,它给出了相同的错误。在我看来,这与dockers内部设置重启监视器有关,但最终必须与配置相关。这将起作用-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 nginxYes,这几乎就是我指定的命令行(内部我们有一个docker hub的代理,这是唯一的区别)。我的问题是如何使
--restart
命令行开关工作。我添加该开关后,立即抛出我提到的错误。您能否发布
docker run
命令(使用重新启动策略)这就是给你的错误?看起来--restart选项的位置很重要,这很有效,谢谢!我本以为会有一个有意义的错误:-)看起来--restart选项的位置很重要,这很有效,谢谢!我本以为会出现一个有意义的错误:-)