docker - 为什么 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
知道为什么吗?
解决方案
您需要在 docker-compose 文件中定义一个预先存在的网络,如文档中所述。
networks:
my_network:
external:
name: my_network