如何在现有的nginx容器中使用zabbix-web-nginx-mysql?

时间:2019-09-02 18:54:20

标签: docker docker-compose zabbix

我正在尝试在我的debian服务器上使用docker。有几个使用Django框架的站点。每个项目都在自己的带有gunicorn的容器中运行,单个nginx容器用作反向代理,数据存储在mariadb容器中。一切正常。必须在服务器上添加zabbix监控系统。因此,我将zabbix-server-mysql映像用作zabbix后端,将zabbix-web-nginx-mysql映像用作前端。后端成功运行,前端失败,并显示以下错误:“无法绑定到0.0.0.0:80端口已分配”,nginx拒绝与域的连接。据我了解,zabbix-web-nginx-mysql创建另一个nginx容器,这会引起问题。有没有可以在现有的nginx容器中使用zabbix图像的正确方法?

1 个答案:

答案 0 :(得分:0)

我在主机上安装了nginx反向代理,用于将代理重定向到容器中。我有一个适用于docker zabbix的工作配置,具有以下配置(我省略了环境变量)。

我的Web应用程序端口80是通过注释器提供的,该注释器与nginx proxy_pass上的设置相同。这里的配置

version: '2'
services:
    zabbix-server4:
    container_name: zabbix-server4
    image: zabbix/zabbix-server-mysql:alpine-4.0.5
    user: root
    networks:
        zbx_net:
        aliases:
            - zabbix-server4
            - zabbix-server4-mysql
        ipv4_address: 172.16.238.5

    zabbix-web4:
    container_name: zabbix-web4
    image: zabbix/zabbix-web-nginx-mysql:alpine-4.0.5
    ports: 
        - 127.0.0.1:11011:80
    links:
        - zabbix-server4
    networks:
        zbx_net:
        aliases:
            - zabbix-web4
            - zabbix-web4-nginx-alpine
            - zabbix-web4-nginx-mysql
        ipv4_address: 172.16.238.10

    zabbix-agent4:
    container_name: zabbix-agent4
    image: zabbix/zabbix-agent:alpine-4.0.5
    links:
        - zabbix-server4
    networks:
        zbx_net:
        aliases:
            - zabbix-agent4
        ipv4_address: 172.16.238.15


networks:
zbx_net:
    driver: bridge
    driver_opts:
    com.docker.network.enable_ipv6: "false"
    ipam:
    driver: default
    config:
    - subnet: 172.16.238.0/24
        gateway: 172.16.238.1