如何重新启动docker重启容器(–restart = true不起作用)?

我正在使用docker版本1.1.0,由systemd使用命令行/usr/bin/docker -d ,并试图:

  • 运行一个容器
  • 停止docker服务
  • 重新启动--restart=true服务(使用systemd或手动,在命令行上指定--restart=true
  • 看看我的容器是否仍在运行

据我了解的文件,我的容器应该重新启动。 但事实并非如此。 公众端口不响应, docker ps不显示。

docker ps -a显示我的容器空状态:

 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cb0d05b4e0d9 mildred/p2pweb:latest node server-cli.js - 7 minutes ago 0.0.0.0:8888->8888/tcp jovial_ritchie ... 

而当我尝试docker restart cb0d05b4e0d9 ,我得到一个错误:

 Error response from daemon: Cannot restart container cb0d05b4e0d9: Unit docker-cb0d05b4e0d9be2aadd4276497e80f4ae56d96f8e2ab98ccdb26ef510e21d2cc.scope already exists. 2014/07/16 13:18:35 Error: failed to restart one or more containers 

我总是可以重新创build一个容器使用相同的基础镜像使用docker run ... ,但我如何确保我的运行容器将重新启动,如果docker重新启动。 是否有解决scheme存在,即使万一docker没有正确停止(想象我从服务器上移除电源插头)。

谢谢

正如在注释中提到的那样,你可能要查找的容器标志是--restart=always ,这将指示Docker,除非你明确地docker stop在容器上,否则任何时候Docker死亡或容器都会docker stop

Interesting Posts