【问题标题】:How to use zabbix-web-nginx-mysql with existing nginx container?如何将 zabbix-web-nginx-mysql 与现有的 nginx 容器一起使用?
【发布时间】:2019-09-02 18:54:20
【问题描述】:
我正在尝试在我的 debian 服务器上使用 docker。有几个站点使用 Django 框架。每个项目都在自己的带有 gunicorn 的容器中运行,单个 nginx 容器用作反向代理,数据存储在 mariadb 容器中。一切正常。需要在服务器上添加zabbix监控系统。所以,我使用 zabbix-server-mysql 镜像作为 zabbix-backend 和 zabbix-web-nginx-mysql 镜像作为前端。后端运行成功,前端失败并出现错误,例如:“无法绑定到 0.0.0.0:80 端口已分配”,nginx 拒绝连接到域。据我了解,zabbix-web-nginx-mysql 创建了另一个 nginx 容器,它会导致问题。是否有正确的方法将 zabbix 镜像与现有的 nginx 容器一起使用?
【问题讨论】:
标签:
docker
docker-compose
zabbix
【解决方案1】:
我在主机上安装了一个 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