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

我在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可以启动没有它的容器罚款?

我已经挖了一个谷歌,但一直没能find解决办法。 有相当多的类似的问题,但很less的解决scheme,似乎没有适用于我的情况。

编辑:我应该提到,在我的情况下,这是特定于nginx – 我自己的容器与指定--restart开关运行良好。

尝试这个。

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