如何在 docker 重启时重启容器(--restart=true 不起作用)?



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

  • 运行容器
  • 停止docker服务
  • 重新启动docker服务(使用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

我总是可以使用相同的基本镜像使用docker run ...重新创建一个容器,但是我如何确保我的运行容器将重新启动,如果docker重新启动。是否存在一个解决方案,即使docker不能正常停止(想象我从服务器上拔下电源插头)。

谢谢

正如评论中提到的,你可能要寻找的容器标志是--restart=always,这将指示Docker,除非你明确地将容器docker stop,否则Docker应该在Docker死亡或容器死亡的任何时候启动它。

相关内容

  • 没有找到相关文章

最新更新