pol*_*zul 10 networking docker docker-compose
考虑以下 docker-compose.yml
version: '2'
services:
serv1:
build: .
ports:
- "8080:8080"
links:
- serv2
serv2:
image: redis
ports:
- "6379:6379"
Run Code Online (Sandbox Code Playgroud)
我正在向主机发送端口以管理我的服务,但是服务可以使用默认的docker网络相互访问.例如,运行的程序serv1可以访问redis:6379,一些DNS魔术将使其工作.我想将我的主机添加到此网络,以便我可以通过其主机名:端口访问容器的端口.
您可以通过在与应用程序位于同一网络中的容器中运行dns代理(例如dnsmasq)来完成此操作。然后将主机dns指向容器ip,就可以像解析网络上的容器一样解析主机名。
https://github.com/hiroshi/docker-dns-proxy就是一个例子。
如果您需要快速解决方法来访问容器:
$ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
172.19.0.9
Run Code Online (Sandbox Code Playgroud)
/etc/hosts.# /etc/hosts
172.19.0.9 container_name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8148 次 |
| 最近记录: |