这是我的撰写文件ubuntu-zabbix.yml:
version: '3.1'
services:
db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
zbx-backend:
image: zabbix/zabbix-server-mysql:ubuntu-3.0-latest
restart: always
environment:
DB_SERVER_HOST: db
MYSQL_ROOT_PASSWORD: example
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix
MYSQL_DATABASE: zabbix
depends_on:
- db
ports:
- 10051:10051
zbx-frontend:
image: zabbix/zabbix-web-nginx-mysql:ubuntu-3.0-latest
restart: always
environment:
DB_SERVER_HOST: db
ZBX_SERVER_HOST: zbx-backend
MYSQL_ROOT_PASSWORD: example
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix
MYSQL_DATABASE: zabbix
depends_on:
- db
- zbx-backend
ports:
- 80:80
通过命令运行
docker-compose -f ubuntu-zabbix.yml up
操作系统版本/构建: Ubuntu 16.04.4 / Docker版本18.03.0-ce,build 0520e24
问题出在zbx-backend上。 Docker应该设置端口转发:10051,没做什么。这可以在调试输出中看到。
在调试输出(dockerd --debug)中没有任何端口映射:10051也不是zbx-backend上的任何iptables设置也没有像在端点上编程外部连接zabbix-docker_zbx-backend_1' https://pastebin.com/raw/8LvZy3dc
我可以直接连接到端口到容器IP,因此端口本身应该没有问题:
root@prod1:~/zabbix-docker# telnet 172.18.0.4 10051
Trying 172.18.0.5...
Connected to 172.18.0.5.
Escape character is '^]'.
root@prod1:~/zabbix-docker# telnet 127.0.0.1 10051
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
任何想法如何让zbx-backend iptables / port映射正常工作?感谢
答案 0 :(得分:0)
问题似乎出现在配置更新中。在新的主机上一切都很好,我在调试日志设置iptables中看到zbx-backend。在旧的主机上我没有看到例如在调试日志中更改了服务名称,但在命令docker-compose的stdout中更改了它。不确定问题与docker或docker-compose有关。