通过网络链接的外部容器的别名
aliases for external containers linked through network
假设我们有两个 Web 服务:alpha 和 beta
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"
这样我就可以与 alpha_web_1
容器交互(例如 ping)beta_web_1
容器。我想要的是为 beta_web_1
容器创建一个别名,以便我可以在有效的 URL 之后命名它,例如:beta.local
。
我希望这种情况发生在 docker-compose.yml
内 alpha
或以任何方式将其保持在 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
现在我们可以从 alpha ping beta.local
容器,从 beta ping alpha.local
容器。
假设我们有两个 Web 服务:alpha 和 beta
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"
这样我就可以与 alpha_web_1
容器交互(例如 ping)beta_web_1
容器。我想要的是为 beta_web_1
容器创建一个别名,以便我可以在有效的 URL 之后命名它,例如:beta.local
。
我希望这种情况发生在 docker-compose.yml
内 alpha
或以任何方式将其保持在 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
现在我们可以从 alpha ping beta.local
容器,从 beta ping alpha.local
容器。