Docker compose 重启后无法启动服务网络未找到docker
Docker compose can not start service network not found after restart docker
我在 windows 10 专业版中将 docker 用于 windows(版本 18.03.0-ce-win59 (16762))。在 运行 命令 docker-compose -up -d
之后,所有容器 运行 正常。问题是当我重新启动 docker 服务时。然后,一旦重新启动,所有容器都会停止,当我 运行 命令 docker-compose start -d
时,显示以下错误:
Error response from daemon: network ccccccccccccc not found
我不知道发生了什么。当我 运行 使用 run
和 --restart=always
选项的容器时,一切都按预期工作。重新启动时没有显示错误。
这是 docker-compose 文件:
version: '3'
services:
service_1:
image: image1
restart: always
build:
context: C:/ProgramData/Docker/volumes/foo2
dockerfile: Dockerfile
args:
ENTRY: "1"
volumes:
- C:/ProgramData/Docker/volumes/foo1:C:/foo1
- C:/ProgramData/Docker/volumes/foo2:C:/foo2
service_2:
image: image2
restart: always
build:
context: C:/ProgramData/Docker/volumes/foo2
dockerfile: Dockerfile
args:
ENTRY: "2"
volumes:
- C:/ProgramData/Docker/volumes/foo1:C:/foo1
- C:/ProgramData/Docker/volumes/foo2:C:/foo2
service_3:
image: image3
restart: always
build:
context: C:/ProgramData/Docker/volumes/foo2
dockerfile: Dockerfile
args:
ENTRY: "4"
volumes:
- C:/ProgramData/Docker/volumes/foo1:C:/foo1
- C:/ProgramData/Docker/volumes/foo2:C:/foo2
docker文件是这样的:
FROM microsoft/dotnet-framework:3.5
ARG ENTRY
ENV my_env=$ENTRY
WORKDIR C:\foo2
ENTRYPOINT C:/foo2/app.exe %my_env%
我找到了一个可能的解决方案,如下所示编辑 docker-compose.yml 文件:
version: '3'
services:
cm04:
image: tnc530_cm04
networks:
- test
privileged: false
restart: always
build:
context: C:/ProgramData/Docker/volumes/adontec/LSV2_Lib/Heidenhain/TNC530
dockerfile: Dockerfile
args:
ENTRY: "1"
volumes:
- C:/ProgramData/Docker/volumes/sqlite:C:/sqlite
- C:/ProgramData/Docker/volumes/adontec/LSV2_Lib/Heidenhain/TNC530/bin/x86/Release:C:/adontec
cm06:
image: tnc620_cm06
networks:
- test
privileged: false
restart: always
build:
context: C:/ProgramData/Docker/volumes/adontec/LSV2_Lib/Heidenhain/TNC620
dockerfile: Dockerfile
args:
ENTRY: "2"
volumes:
- C:/ProgramData/Docker/volumes/sqlite:C:/sqlite
- C:/ProgramData/Docker/volumes/adontec/LSV2_Lib/Heidenhain/TNC620/bin/x86/Release:C:/adontec
cm08:
image: tnc620_cm08
networks:
- test
privileged: false
restart: always
build:
context: C:/ProgramData/Docker/volumes/adontec/LSV2_Lib/Heidenhain/TNC620
dockerfile: Dockerfile
args:
ENTRY: "4"
volumes:
- C:/ProgramData/Docker/volumes/sqlite:C:/sqlite
- C:/ProgramData/Docker/volumes/adontec/LSV2_Lib/Heidenhain/TNC620/bin/x86/Release:C:/adontec
networks:
test:
external:
name: nat
如您所见,我创建了一个名为 test
的网络,该网络与外部网络 nat
相连。现在,当我重新启动 docker 服务时,容器启动时没有错误。
网络发生变化。我使用 docker network prune
命令来满足相同的 problem.Recreate 容器将解决问题。 Docker 将为新容器重新设置网络。
#remove all containers
docker rm $(docker ps -qa)
#or
docker system prune
可能有一些旧的容器实例没有被删除。使用
检查实例
docker container ls -a
如果你有一些没有被删除的实例,你可能会得到这样的输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b4678e6666b b4a75a01d539 "/bin/sh -c 'eval `s…" 6 weeks ago Exited (1) 6 weeks ago zealous_allen
ee862a3418f2 1eaaf48e9b42 "/bin/sh -c 'eval `s…" 6 weeks ago Exited (1) 6 weeks ago jolly_torvalds
通过容器 id 删除容器
docker container rm 8b4678e6666b
docker container rm ee862a3418f2
现在用 docker-compose 文件启动你的容器
这对我有用。希望能帮助到你!
或者,您可以只打开 docker 应用并手动删除容器。然后 运行 docker-在您的终端上撰写。现在它应该可以工作了。转到 9000 或 9001 端口或您正在使用的任何端口,看看 minio 是否真的 运行ning.
我在 windows 10 专业版中将 docker 用于 windows(版本 18.03.0-ce-win59 (16762))。在 运行 命令 docker-compose -up -d
之后,所有容器 运行 正常。问题是当我重新启动 docker 服务时。然后,一旦重新启动,所有容器都会停止,当我 运行 命令 docker-compose start -d
时,显示以下错误:
Error response from daemon: network ccccccccccccc not found
我不知道发生了什么。当我 运行 使用 run
和 --restart=always
选项的容器时,一切都按预期工作。重新启动时没有显示错误。
这是 docker-compose 文件:
version: '3'
services:
service_1:
image: image1
restart: always
build:
context: C:/ProgramData/Docker/volumes/foo2
dockerfile: Dockerfile
args:
ENTRY: "1"
volumes:
- C:/ProgramData/Docker/volumes/foo1:C:/foo1
- C:/ProgramData/Docker/volumes/foo2:C:/foo2
service_2:
image: image2
restart: always
build:
context: C:/ProgramData/Docker/volumes/foo2
dockerfile: Dockerfile
args:
ENTRY: "2"
volumes:
- C:/ProgramData/Docker/volumes/foo1:C:/foo1
- C:/ProgramData/Docker/volumes/foo2:C:/foo2
service_3:
image: image3
restart: always
build:
context: C:/ProgramData/Docker/volumes/foo2
dockerfile: Dockerfile
args:
ENTRY: "4"
volumes:
- C:/ProgramData/Docker/volumes/foo1:C:/foo1
- C:/ProgramData/Docker/volumes/foo2:C:/foo2
docker文件是这样的:
FROM microsoft/dotnet-framework:3.5
ARG ENTRY
ENV my_env=$ENTRY
WORKDIR C:\foo2
ENTRYPOINT C:/foo2/app.exe %my_env%
我找到了一个可能的解决方案,如下所示编辑 docker-compose.yml 文件:
version: '3'
services:
cm04:
image: tnc530_cm04
networks:
- test
privileged: false
restart: always
build:
context: C:/ProgramData/Docker/volumes/adontec/LSV2_Lib/Heidenhain/TNC530
dockerfile: Dockerfile
args:
ENTRY: "1"
volumes:
- C:/ProgramData/Docker/volumes/sqlite:C:/sqlite
- C:/ProgramData/Docker/volumes/adontec/LSV2_Lib/Heidenhain/TNC530/bin/x86/Release:C:/adontec
cm06:
image: tnc620_cm06
networks:
- test
privileged: false
restart: always
build:
context: C:/ProgramData/Docker/volumes/adontec/LSV2_Lib/Heidenhain/TNC620
dockerfile: Dockerfile
args:
ENTRY: "2"
volumes:
- C:/ProgramData/Docker/volumes/sqlite:C:/sqlite
- C:/ProgramData/Docker/volumes/adontec/LSV2_Lib/Heidenhain/TNC620/bin/x86/Release:C:/adontec
cm08:
image: tnc620_cm08
networks:
- test
privileged: false
restart: always
build:
context: C:/ProgramData/Docker/volumes/adontec/LSV2_Lib/Heidenhain/TNC620
dockerfile: Dockerfile
args:
ENTRY: "4"
volumes:
- C:/ProgramData/Docker/volumes/sqlite:C:/sqlite
- C:/ProgramData/Docker/volumes/adontec/LSV2_Lib/Heidenhain/TNC620/bin/x86/Release:C:/adontec
networks:
test:
external:
name: nat
如您所见,我创建了一个名为 test
的网络,该网络与外部网络 nat
相连。现在,当我重新启动 docker 服务时,容器启动时没有错误。
网络发生变化。我使用 docker network prune
命令来满足相同的 problem.Recreate 容器将解决问题。 Docker 将为新容器重新设置网络。
#remove all containers
docker rm $(docker ps -qa)
#or
docker system prune
可能有一些旧的容器实例没有被删除。使用
检查实例docker container ls -a
如果你有一些没有被删除的实例,你可能会得到这样的输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b4678e6666b b4a75a01d539 "/bin/sh -c 'eval `s…" 6 weeks ago Exited (1) 6 weeks ago zealous_allen
ee862a3418f2 1eaaf48e9b42 "/bin/sh -c 'eval `s…" 6 weeks ago Exited (1) 6 weeks ago jolly_torvalds
通过容器 id 删除容器
docker container rm 8b4678e6666b
docker container rm ee862a3418f2
现在用 docker-compose 文件启动你的容器 这对我有用。希望能帮助到你!
或者,您可以只打开 docker 应用并手动删除容器。然后 运行 docker-在您的终端上撰写。现在它应该可以工作了。转到 9000 或 9001 端口或您正在使用的任何端口,看看 minio 是否真的 运行ning.