我正在尝试在我的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图像的正确方法?
答案 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