Tam*_*mas 8 dns docker docker-compose
如何使用中的域配置主机名docker-compose.yml
?
假设服务worker
需要web
该http://web.local/
地址上的服务。但是web.local
无论我使用hostname
指令配置了什么,都无法解析为IP地址。添加extra_hosts
指令也不起作用,因为我应该知道该服务的IP web
,但我不知道,因为它是由docker分配的。
docker-compose.yml:
version: '3'
services:
worker:
build: ./worker
networks:
- mynet
web:
build: ./web
ports:
- 80:80
hostname: web.local
networks:
- mynet
networks:
mynet:
Run Code Online (Sandbox Code Playgroud)
但ping web.local
无法在服务内部解析worker
为此,您需要alias
在网络中添加一个mynet
。
从官方文档中:
网络上此服务的别名(备用主机名)。同一网络上的其他容器可以使用服务名称或此别名来连接到服务的容器之一。
因此,您的docker-compose.yml
文件应如下所示:
version: '3'
services:
worker:
build: ./worker
networks:
- mynet
web:
build: ./web
ports:
- 80:80
hostname: web.local
networks:
mynet:
aliases:
- web.local
networks:
mynet:
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5155 次 |
最近记录: |