Docker网络名称不一致

时间:2018-07-17 14:13:53

标签: docker docker-compose

根据运行Docker-compose的主机,我会得到不同的网络命名。例如:

这是我的docker-compose文件:

./my-project-folder/docker-compose.yml

version: '3'

services:

  search:
    build: docker/server
    container_name: server
    ports:
      - 9200:9200

我有一个名为my-project-folder的项目,其网络名为:

my-project-folder_default

但是有时候我得到这个网络名称:

myprojectfolder_default

是否可以使用一致的网络名称?

2 个答案:

答案 0 :(得分:0)

您是否尝试过在networks下定义条目?

version: '3'

services:

  search:
    build: docker/server
    container_name: server
    ports:
      - 9200:9200
    networks:
      - your-network-name

networks:
  your-network-name: ...

Compose File Reference V3 Documentation

中有一些有趣的信息

根据上一个文档:

version: '3.5'

services:
  search:
    build: docker/server
    container_name: server
    ports:
      - 9200:9200
    networks:
      - your-network-name

networks:
  your-network-name:
   name: your-global-net

请注意,您至少需要Docker Engine 17.06.0才能运行,并且需要使用最新版本的docker-compose yml。

要检查您是否可以简单键入:

docker version

答案 1 :(得分:0)

docker-compose -pCOMPOSE_PROJECT_NAME environment variable将手动设置该前缀,而不是让Compose根据目录名自行决定。如果需要,这仍然可以让您在同一系统上运行堆栈的多个副本(强制container_name,并且网络名称会导致多个部署发生冲突)。