【发布时间】:2018-07-16 11:52:43
【问题描述】:
我正在尝试在 docker 中启动 zabbix,我创建了 docker-compose 和几个服务,一个是数据库。我需要先启动数据库,然后从数据库中获取IP地址以设置其他服务,但不知道该怎么做,已经尝试使用链接,但没有成功。
这是我的 docker-compose.yml
version: "2"
services:
mysql-zabbix :
image: "mysql:5.7"
ports:
- "53306:3306"
networks:
- net_zabbix
volumes:
- "vol_db_zabbix:/var/lib/mysql"
environment:
- "MYSQL_ROOT_PASSWORD=abcd"
- "MYSQL_DATABASE=zabbix"
- "MYSQL_USER=zabbix"
- "MYSQL_PASSWORD=123456"
zabbix-server:
image: "zabbix/zabbix-server-mysql:alpine-3.4.11"
ports:
- "10051:10051"
networks:
- net_zabbix
environment:
- "DB_SERVER_PORT=53306"
- DB_SERVER_HOST=zabbix.db
- "MYSQL_USER=zabbix"
- "MYSQL_PASSWORD=123456"
depends_on:
- mysql-zabbix
external_links:
- mysql-zabbix:zabbix.db
zabbix-web:
image: "zabbix/zabbix-web-apache-mysql:alpine-3.4.11"
ports:
- "80:80"
networks:
- net_zabbix
environment:
- DB_SERVER_HOST=zabbix.db
- "DB_SERVER_PORT=53306"
- "MYSQL_USER=zabbix"
- "MYSQL_PASSWORD=123456"
- ZBX_SERVER_HOST=zabbix.server
- "PHP_TZ=America/Sao_Paulo"
depends_on:
- zabbix-server
external_links:
- mysql-zabbix:zabbix.db
- zabbix-server:zabbix.server
zabbix-agent:
image: "zabbix/zabbix-agent:alpine-3.4.11"
ports:
- "10050:10050"
networks:
- net_zabbix
environment:
- "ZBX_HOSTNAME=demo_zabbix"
- ZBX_SERVER_HOST=zabbix.server
external_links:
- zabbix-server:zabbix.server
zabbix-proxy:
image: "zabbix/zabbix-proxy-sqlite3:alpine-3.4.11"
ports:
- "10053:10050"
networks:
- net_zabbix
environment:
- "ZBX_HOSTNAME=demo_zabbix"
- ZBX_SERVER_HOST=zabbix.server
external_links:
- zabbix-server:zabbix.server
networks:
net_zabbix:
volumes:
vol_db_zabbix:
【问题讨论】:
-
我不知道 zabix,你的 docker-compose 似乎有很多不必要的配置,但在我看来,你应该设置你的
DB_SERVER_HOST=mysql-zabbix,因为它在 docker 中为 db 提供了地址。
标签: docker docker-compose yaml zabbix