让我们说我们有两个网络服务:alpha&测试
1)docker-compose.yml
alpha :
version: '2'
services:
web:
build: .
env_file: local.env
networks:
- default
- beta
networks:
beta:
external:
name: beta_default
2)docker-compose.yml
beta :
version: '2'
services:
web:
build: .
env_file: .env
expose:
- "5000"
这样我可以从beta_web_1
容器中交互(例如ping)alpha_web_1
容器。我想要的是为beta_web_1
容器创建一个别名,以便我可以在有效的URL之后命名它,例如:beta.local
。
我希望在docker-compose.yml
内alpha
或{@ 1}}或以任何方式将其保持在alpha的视图范围内,这样我就不需要更改实际的系统范围名称了beta_web_1
这可能吗?
答案 0 :(得分:3)
我错过了aliases
下的networks
个选项。这样,如果我们将docker-compose.yml
文件更改为:
1)alpha / docker-compose.yml:
version: '2'
services:
web:
build: .
env_file: local.env
networks:
default:
aliases:
- alpha.local
beta:
networks:
beta:
external:
name: beta_default
2)beta / docker-compose.yml
version: '2'
services:
web:
build: .
env_file: .env
expose:
- "5000"
networks:
default:
aliases:
- beta.local
alpha:
networks:
alpha:
external:
name: alpha_default
现在我们可以ping alpha beta.local
容器和beta alpha.local
容器。