通过networking链接外部容器的别名

假设我们有两个Web服务:alpha和beta

1)用于alpha docker-compose.yml

 version: '2' services: web: build: . env_file: local.env networks: - default - beta networks: beta: external: name: beta_default 

2) docker-compose.yml for beta

 version: '2' services: web: build: . env_file: .env expose: - "5000" 

这样我就可以从alpha_web_1容器中交互(例如ping) alpha_web_1容器。 我想要的是为beta_web_1容器创build一个别名,这样我就可以在有效的URL之后命名它,例如: beta.local

我希望在docker-compose.yml发生这种情况,或者以任何方式将其保留在alpha的视图范围内,这样我就不需要更改beta_web_1的实际系统名称

这可能吗?

我错过了在networks下有一个aliases选项。 这样,如果我们将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 

现在我们可以从beta版本的alpha和alpha.local容器中ping beta.local容器。