Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么docker compose说网络未定义,但;docker网络ls“;显示出来了吗?_Docker_Redis_Docker Compose - Fatal编程技术网

为什么docker compose说网络未定义,但;docker网络ls“;显示出来了吗?

为什么docker compose说网络未定义,但;docker网络ls“;显示出来了吗?,docker,redis,docker-compose,Docker,Redis,Docker Compose,我已使用以下工具创建了一个网络: docker network create my_network 当我运行docker network ls时,我看到: NETWORK ID NAME DRIVER SCOPE 80e99e7a8f98 bridge

我已使用以下工具创建了一个网络:

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_网络”

docker-compose.yml


知道原因吗?

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


只需检查:如果外部网络名为
my_network\u 1
,而内部网络名为
my_network
,我将网络定义为
my_network\u 1
,但将名称设置为
my_network\u 2
,然后在另一个docker compose中定义一个网络
my_network
,它们是否正确地位于不同的网络上?本例中的“my_network”只是这个compose.yml的一个局部范围。真正重要的是外部声明的名称。因此,如果网络_1和网络_2对于外部都具有相同的网络名称,则它们将位于同一网络上。
version: '2.1'
services:

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