在網上的很多帖子,我親自試過,多數不行,啟動后zabbix_server是退出狀態,所以覺得自己親自寫一篇帖子,以作記錄
1、安裝docker和docker-compose
yum install -y docker
curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose
修改docker-compose權限
chmod +x /usr/bin/docker-compose
驗證docker-compose是否安裝成功
docker-compose --version
#如想最新版,自行到github上下載
https://github.com/docker/compose/releases
2、創建掛載目錄
mkdir -p /data/docker/mysql-data mkdir -p /data/docker/zabbix
3、編寫yml文件,一件部署
vim /data/docker/docker-compose.yml
version: '3'
services:
zabbix_mysql:
container_name: "zabbix_mysql"
restart: "always"
image: mariadb
ports:
- "3306:3306"
volumes:
- /data/docker/mysql-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: "mysqlpss123"
MYSQL_USER: "zabbix"
MYSQL_PASSWORD: "mysqlpss123"
MYSQL_DATABASE: "zabbix"
zabbix_server:
container_name: "zabbix_server"
restart: "always"
image: zabbix/zabbix-server-mysql
ports:
- "10051:10051"
volumes:
- /etc/localtime:/etc/localtime:ro
- /data/docker/zabbix:/usr/lib/zabbix
depends_on:
- zabbix_mysql
links:
- zabbix_mysql:mysql
environment:
DB_SERVER_HOST: "mysql"
MYSQL_USER: "zabbix"
MYSQL_DATABASE: "zabbix"
MYSQL_PASSWORD: "mysqlpss123"
zabbix_nginx_web:
container_name: "zabbix_nginx_web"
restart: "always"
image: zabbix/zabbix-web-nginx-mysql
ports:
- "8443:443"
- "80:8080"
depends_on:
- zabbix_mysql
- zabbix_server
links:
- zabbix_mysql:mysql
- zabbix_server:zabbix_server
environment:
DB_SERVER_HOST: "mysql"
MYSQL_USER: "zabbix"
MYSQL_PASSWORD: "mysqlpss123"
MYSQL_DATABASE: "zabbix"
ZBX_SERVER_HOST: "zabbix_server"
PHP_TZ: "Asia/Shanghai"
zabbix-agent-a:
image: zabbix/zabbix-agent
links:
- zabbix_server:zabbix_server
container_name: zabbix-agent-a
restart: always
depends_on:
- zabbix_server
environment:
- ZBX_HOSTNAME=zabbix-agent-a
- ZBX_SERVER_HOST=zabbix_server
啟動
docker-compose up -d
查看進程
docker-compose ps
#如果發現zabbix_server起不來,狀態是Exit,查看日志
docker logs -f zabbix_server
估計是導入sql文件有問題,我們手動從官網下載對應版本的zabbix5.0.1進行下載導入
wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.1.tar.gz
docker cp zabbix-5.0.1.tar.gz zabbix_server:/var/.
進入docker內部maridb刪除zabbix數據庫,重新創建導入
docker exec -it zabbix_server /bin/bash
cd /var && tar -xf zabbix-5.0.1.tar.gz
mysql -uroot -p -e "drop database zabbix"
mysql -uroot -p zabbix < zabbix-5.0.1/database/mysql/schema.sql
mysql -uroot -p zabbix < zabbix-5.0.1/database/mysql/images.sql
mysql -uroot -p zabbix < zabbix-5.0.1/database/mysql/data.sql
重啟容器
docker-compose restart
4、訪問頁面
http://IP:80
初始密碼Admin/zabbix