如何重新启动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
。