在另一个容器的localhost上发布端口

问题描述 投票:1回答:2

我有以下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-server正在为其localhost:10050上的zabbix-agent开箱即用。是否可以在zabbix-server的localhost:10050上使zabbix-agent的端口10050可用?

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

docker docker-compose
2个回答
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

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。

© www.soinside.com 2019 - 2024. All rights reserved.