Docker Compose自动创建env_default网桥网络是否为正常行为?
Docker Compose自动创建env_default网络是正确行为吗?
这是完全正确的默认行为,Docker Compose的网络规则就是这样的:
- 当你没在
docker-compose.yml里手动定义网络时,Compose会自动为当前项目创建一个专属网桥网络,命名规则是**[项目所在目录名]_default**。你这里的项目目录应该叫env,所以生成的网络就是env_default。 - 这个自动创建的专属网络比默认的
bridge网络更实用:默认bridge里的容器只能通过IP地址互相访问,而Compose专属网络支持容器名/服务名解析——同一项目里的容器直接用服务名就能通信,不用记IP。 - 如果非要让容器用默认的
bridge网络,你可以在配置里显式指定,修改后的docker-compose.yml如下:
version: "3" services: backend-config: image: hub/backend-config:v200 container_name: backend-config expose: - 9091 ports: - 9091:9091 environment: - LOG_LOCATION=/var/lib/backend/config/logs volumes: - ./logs:/var/lib/backend/config/logs networks: - default networks: default: external: name: bridge
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

