Docker无法启动,因为存在具有ID的Docker容器?

alp*_* qi 6 docker

将Docker升级到Docker版本17.06.2-ce后,我的Docker容器无法重新启动。错误消息和我的撰写文件如下:

Starting wordpress ... error
Starting mysql     ... error

ERROR: for wordpress  Cannot start service wordpress: oci runtime error: container with id exists: 
b3951fd8b599c273f39d3b29085d525828a92dabe518f42860ba6535d5edad6e


ERROR: for mysql  Cannot start service mysql: oci runtime error: container with id exists: be9c3682bb66720c8015cfe9e9025c68a917204444e9b77f68b63d84f0469b71


======================
Run Code Online (Sandbox Code Playgroud)

泊坞窗的撰写文件为:

services:
  wordpress:
    image: wordpress
    restart: always
    ports:
      - 80:80
    environment:
      WORDPRESS_DB_PASSWORD: xxx

  mysql:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: xxx
Run Code Online (Sandbox Code Playgroud)

我已重新启动实例,但无法正常工作。需要你的帮助!

小智 18

这是因为系统异常重启导致容器处于不良状态。查找状态信息:

find -name "b3951fd8b599c273f39d3b29085d525828a92dabe518f42860ba6535d5edad6e"

这应该会导致类似的结果:

/run/docker/runtime-runc/moby/b3951fd8b599c273f39d3b29085d525828a92dabe518f42860ba6535d5edad6e

您可以使用以下方法删除状态信息:

sudo rm -rf /run/docker/runtime-runc/moby/b3951fd8b599c273f39d3b29085d525828a92dabe518f42860ba6535d5edad6e/

然后用以下命令重新启动容器:

docker start b395

然后您应该可以启动并运行。


Ale*_*Trn 8

有时我在更新 Docker 版本时会遇到同样的错误。您可以停止 ( docker-compose down),然后再次启动容器。我认为这是由于在适应新版本时出现了一些运行时冲突。

在此输入图像描述


dpr*_*dpr 7

您是否尝试过从docker引擎中删除已停止的容器?

您可以使用显示所有容器docker ps -a。这将为您提供本地容器的列表(已停止并正在运行)。识别旧的wordpress和mysql容器,并使用删除它们docker rm <container-id>。删除旧容器后,您应该可以再次运行docker compose文件。

  • @MehdiKhademloo,如果您将数据存储在容器内,那么您使用容器的方式是错误的!您可能应该针对您的问题提出一个单独的问题,以获得具体答案...... (3认同)
  • 在这种情况下,您还可以尝试`docker-compose rm -v`和/或`docker system prune -f`。 (2认同)