我有以下docker-compose.yml(不包括非必要部分):
zabbix-server:
image: zabbix/zabbix-server-pgsql:alpine-4.0-latest
ports:
- "10051:10051"
networks:
zbx_net_backend:
aliases:
- zabbix-server
zabbix-agent:
image: zabbix/zabbix-agent:alpine-4.0-latest
ports:
- "10050:10050"
networks:
zbx_net_backend:
aliases:
- zabbix-agent
networks:
zbx_net_backend:
driver: bridge
internal: true
ipam:
driver: default
config:
- subnet: 172.16.239.0/24
zabbix服务器正在其localhost:10050
上直接寻找 zabbix-agent 。可以使 zabbix-agent 的端口10050在 zabbix-server 的localhost:10050上可用吗?
我知道我可以通过"Configuration" -> "Hosts" -> edit -> "DNS Name"
在zabbix-server中配置zabbix-agent主机名,但我想避免这种情况,并通过docker-compose.yml的配置来实现。
答案 0 :(得分:0)
一种选择是使目标地址在使用它的位置可配置(也许已经在?)并将目标设置为相关的docker compose服务:
zabbix-server:
image: zabbix/zabbix-server-pgsql:alpine-4.0-latest
environment:
AGENT_URL: zabbix-agent
ports:
- "10051:10051"
zabbix-agent:
image: zabbix/zabbix-agent:alpine-4.0-latest
答案 1 :(得分:0)
不可能将localhost
环回设备点重定向到另一个容器。但是,如果您确实需要这样做,则可以将它们都连接到host
网络。
赞:
zabbix-server:
image: zabbix/zabbix-server-pgsql:alpine-4.0-latest
ports:
- "10051:10051"
network_mode: "host"
zabbix-agent:
image: zabbix/zabbix-agent:alpine-4.0-latest
ports:
- "10050:10050"
network_mode: "host"
这样做,将允许您从zabbix-server容器中使用localhost:10050
来访问zabbix-agent。