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 次 |
| 最近记录: |