docker-compose down - 网络是外部的,跳过

时间:2016-03-30 20:58:46

标签: docker docker-compose

我尝试关闭docker-compose文件中定义的外部网络的所有服务(使用版本2)。

当我尝试docker-compose down时,我收到一条消息说明,

  

网络' your_network'是外部的,跳过

有没有办法使用docker-compose来停止和删除用户定义或外部网络的所有容器?

3 个答案:

答案 0 :(得分:1)

我遇到了同样的错误。 docker-compose只能停止docker-compose启动的容器。 就我而言:我想要停止的容器是由docker run启动的。 所以我一个接一个地停下了容器。然后用docker-compose.yml

启动它们

不确定你是否是同一案件。

答案 1 :(得分:0)

Docker错误消息(通常)总是异常。

最初,我有多个使用自定义网络的服务,如下所示:

version: '3'

networks:
  mynet:
    external: true

services:
  nexus-repository:
    image: sonatype/nexus3
    ports:
      - '8082:8081'
    networks:
      - mynet
    volumes:
      - '/nexus-data:/nexus-data'

要删除我尝试过的容器:

  • sudo docker-compose down =>否
  • ssudo docker network remove mynet =>否
  • sudo docker-compose rm -sfv nexus-repository =>否

在我完全删除所有对外部网络的引用之前,什么都没做。


解决方案

services:
  nexus-repository:
    image: sonatype/nexus3
    ports:
      - '8082:8081'
    volumes:
      - '/nexus-data:/nexus-data'

没有了:

网络“ mynet”是外部的,正在跳过

没有更多的容器了!

答案 2 :(得分:0)

这不是错误。您拥有一个声明为“外部”的网络,这主要意味着该网络可能会被其他服务或其他docker-compose文件使用。因此,当您停止这些服务时,网络将被“跳过”,因为该网络在引用它的所有服务之间共享,并且在尝试删除外部网络时会产生错误。