4

我正在使用 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,我如何确保我正在运行的容器将重新启动。即使泊坞窗没有正确停止(想象我从服务器上拔下电源插头),是否存在解决方案。

谢谢

4

1 回答 1

1

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

于 2015-12-18T08:48:38.887 回答