【问题标题】:Docker containers restart failsDocker 容器重启失败
【发布时间】:2019-06-23 21:06:39
【问题描述】:

您好,我有 2 个 docker 容器:一个用于 wordpress,另一个用于 DB。我想在 wordpress 容器中复制 html 和 php 文件,因为我看到它必须首先停止容器,否则复制将不会完成。除了在容器中复制之后,如果我这样做:

docker restart $(docker ps -a -q)

我有这个错误:

Error response from daemon: Cannot restart container 035714167b27: network 87e28d3e4121e59f1a3dab6e0afc81db6f273e2585fe22045f3dcd7edcd3ae5d not found
Error response from daemon: Cannot restart container 2169bed03e64: network 87e28d3e4121e59f1a3dab6e0afc81db6f273e2585fe22045f3dcd7edcd3ae5d not found

即使我一个一个重新启动容器,我也会遇到错误:例如:

Error response from daemon: Cannot restart container 035714167b27: network 87e28d3e4121e59f1a3dab6e0afc81db6f273e2585fe22045f3dcd7edcd3ae5d not found

这是我的 docker-compose.yml 文件:

version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    networks:
      - database
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: ******
      WORDPRESS_DB_NAME: exampledb

  db:
    image: mysql:5.7
    restart: always
    networks:
      - database
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '********'
networks:
  database:

docker-compose up 命令出错:

Starting wordpress_db_1        ... error
Starting wordpress_wordpress_1 ...

Starting wordpress_wordpress_1 ... error

ERROR: for wordpress_wordpress_1  Cannot start service wordpress: network 87e28d3e4121e59f1a3dab6e0afc81db6f273e2585fe22045f3dcd7edcd3ae5d not found

ERROR: for db  Cannot start service db: network 87e28d3e4121e59f1a3dab6e0afc81db6f273e2585fe22045f3dcd7edcd3ae5d not found

ERROR: for wordpress  Cannot start service wordpress: network 87e28d3e4121e59f1a3dab6e0afc81db6f273e2585fe22045f3dcd7edcd3ae5d not found
ERROR: Encountered errors while bringing up the project.

对于 docker-compose down 命令:

Removing wordpress_wordpress_1 ... done
Removing wordpress_db_1        ... done
Removing network wordpress_database

docker network ls 命令的输出:

NETWORK ID          NAME                  DRIVER              SCOPE
13f1e50b9b01        nat                   nat                 local
82f0375abab2        nat                   nat                 local
9b6e4eb573bd        none                  null                local
3c58f55f0ae6        wordpress_database    nat                 local
90581f5a1c1d        wordpress_default     nat                 local
03cc07eda9e8        wordpress_wordpress   nat                 local

信息:

  1. Windows 10
  2. Docker 版本 2.0.0.2 (30215)

提前谢谢你!!!

【问题讨论】:

  • 您可以运行docker network ls 来检查网络吗?如果您使用的是 docker compose,您也应该使用 docker compose CLI 停止和重新启动容器。无论如何,您可以在使用卷 (docs.docker.com/storage/volumes) 启动容器之前包含您尝试复制的文件。卷也可以在 compose 文件中定义 (docs.docker.com/compose/compose-file/#volumes)
  • 如果你使用 docker-compose,我更喜欢使用docker-compose 命令而不是直接使用dockerdocker-compose restart 有效吗?
  • 不,它不起作用
  • docker-compose downdocker-compose up 有效吗?
  • docker-compose down 工作,而不是 docker-compose up

标签: docker containers


【解决方案1】:

您正在使用 docker compose 启动? 如果是这样,当网络的最后一个容器退出时,可能会删除网络。 我不会手动复制文件,使用卷绑定,这应该消除将文件复制到容器中的需要,这是一个巨大的危险信号

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-17
  • 2019-03-13
  • 2023-04-04
  • 2020-09-16
相关资源
最近更新 更多