首页 > 解决方案 > 为什么 docker-compose 说网络未定义,但“docker network ls”显示它?

问题描述

我使用以下方法创建了一个网络:

docker network create my_network

当我跑步时,docker network ls我看到:

NETWORK ID          NAME                                                      DRIVER              SCOPE
80e99e7a8f98        bridge                                                    bridge              local
ff48b8c6586b        host                                                      host                local
cdf5969b458d        none                                                      null                local
9bd1e13004b7        my_network                                                bridge              local

但是当我尝试使用该网络创建一个 redis 节点时,它说:

服务“redis”使用未定义的网络“my_network”

码头工人-compose.yml

version: '2.1'
services:

redis:
    image: redis
    container_name: redis
    environment:
    - ALLOW_EMPTY_PASSWORD=yes
    ports:
    - 6379:6379
    networks: 
    - my_network

知道为什么吗?

标签: dockerredisdocker-compose

解决方案


您需要在 docker-compose 文件中定义一个预先存在的网络,如文档中所述。

networks:
  my_network:
    external:
      name: my_network

推荐阅读