我有以下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代理。是否可以在zabbix-server的localhost:10050上使zabbix-agent的端口10050可用?

我知道我可以通过"Configuration" -> "Hosts" -> edit -> "DNS Name"在zabbix-server中配置zabbix-agent主机名,但是我想避免这种情况,并通过docker-compose.yml的配置来实现。

最佳答案

一种选择是使目标地址在使用它的位置可配置(也许已经在?)并将目标设置为相关的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

关于docker - 在另一个容器的本地主机上发布端口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55070999/

10-16 11:38