创建目录
root@Baidu-BJ-01:~# mkdir docker-compose-data
root@Baidu-BJ-01:~# cd docker-compose-data/
root@Baidu-BJ-01:~/docker-compose-data# mkdir zabbix-data
root@Baidu-BJ-01:~/docker-compose-data# cd zabbix-data/
root@Baidu-BJ-01:~/docker-compose-data/zabbix-data# nano docker-compose.yml
创建compose文件
services:
mysql:
container_name: mysql
image: mysql:8.0
restart: always
environment:
MYSQL_DATABASE: zabbix
MYSQL_ROOT_PASSWORD: zabbix@2022
MYSQL_ROOT_HOST: '%' # 关键:允许root远程连接
ports:
- "3306:3306"
volumes:
- /data/mysql:/var/lib/mysql
# 修复健康检查
healthcheck:
test: ["CMD", "mysql", "-uroot", "-pzabbix@2022", "-e", "SELECT 1"]
interval: 8s
timeout: 5s
retries: 30
networks:
- zabbix-net
zabbix-server:
container_name: zabbix_server
image: zabbix/zabbix-server-mysql:latest
restart: always
depends_on:
mysql:
condition: service_healthy
environment:
MYSQL_DATABASE: zabbix
MYSQL_PASSWORD: zabbix@2022
MYSQL_USER: root
DB_SERVER_HOST: mysql
ports:
- "10051:10051"
volumes:
- /data/zabbix/alertscripts:/usr/lib/zabbix/alertscripts
- /data/zabbix/externalscripts:/usr/lib/zabbix/externalscripts
networks:
- zabbix-net
zabbix-web:
container_name: zabbix_web
image: zabbix/zabbix-web-nginx-mysql:latest
restart: always
depends_on:
mysql:
condition: service_healthy
zabbix-server:
condition: service_started
environment:
MYSQL_DATABASE: zabbix
MYSQL_PASSWORD: zabbix@2022
MYSQL_USER: root
DB_SERVER_HOST: mysql
ZBX_SERVER_HOST: zabbix-server
ports:
- "8080:8080"
networks:
- zabbix-net
zabbix-agent:
container_name: zabbix_agent
image: zabbix/zabbix-agent:latest
restart: always
environment:
ZBX_HOSTNAME: "Zabbix server"
ZBX_SERVER_HOST: zabbix-server
ports:
- "10050:10050"
networks:
- zabbix-net
networks:
zabbix-net:
driver: bridge以上内容仅供参考,由于数据库的账户密码需要自行在配置文件上修改
部署docker服务
d查看部署状态
root@Baidu-BJ-01:~/docker-compose-data/zabbix-data# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
515f50b7167b zabbix/zabbix-web-nginx-mysql:latest "docker-entrypoint.sh" 25 minutes ago Up 25 minutes (healthy) 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp, 8443/tcp zabbix_web
3eecce3913ed zabbix/zabbix-server-mysql:latest "/usr/bin/docker-ent…" 25 minutes ago Up 25 minutes 0.0.0.0:10051->10051/tcp, [::]:10051->10051/tcp zabbix_server
6709b029f65c zabbix/zabbix-agent:latest "/usr/bin/docker-ent…" 25 minutes ago Up 25 minutes 0.0.0.0:10050->10050/tcp, [::]:10050->10050/tcp zabbix_agent
5ba4f4459c68 mysql:8.0 "docker-entrypoint.s…" 25 minutes ago Up 25 minutes (healthy) 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp, 33060/tcp mysql
root@Baidu-BJ-01:~/docker-compose-data/zabbix-data#
查看日志
root@Baidu-BJ-01:~/docker-compose-data/zabbix-data# docker compose logs
zabbix_web | ** Deploying Zabbix web-interface (Nginx) with MySQL database
zabbix_web | ** Using MYSQL_USER variable from ENV
zabbix_web | ** Using MYSQL_PASSWORD variable from ENV
zabbix_web | ********************
zabbix_web | * DB_SERVER_HOST: mysql
zabbix_web | * DB_SERVER_PORT: 3306
zabbix_web | * DB_SERVER_DBNAME: zabbix
zabbix_web | ********************
zabbix_web | ** Preparing PHP configuration
zabbix_web | ** Adding Zabbix virtual host (HTTP)
zabbix_web | **** Impossible to enable SSL support for Nginx. Certificates are missed.
zabbix_web | ########################################################
zabbix_web | ** Executing supervisord
zabbix_web | 2026-03-28 15:42:01,590 INFO Included extra file "/etc/supervisor/conf.d/supervisord_zabbix.conf" during parsing
zabbix_web | 2026-03-28 15:42:01,590 INFO Included extra file "/etc/supervisor/conf.d/supervisord_zabbix.conf" during parsing
zabbix_web | 2026-03-28 15:42:01,599 INFO RPC interface 'supervisor' initialized
zabbix_web | 2026-03-28 15:42:01,599 INFO RPC interface 'supervisor' initialized
zabbix_web | 2026-03-28 15:42:01,599 INFO supervisord started with pid 1
zabbix_web | 2026-03-28 15:42:01,599 INFO supervisord started with pid 1
zabbix_web | 2026-03-28 15:42:02,602 INFO spawned: 'nginx' with pid 25
zabbix_web | 2026-03-28 15:42:02,602 INFO spawned: 'nginx' with pid 25
zabbix_web | 2026-03-28 15:42:02,604 INFO spawned: 'php-fpm84' with pid 26
zabbix_web | 2026-03-28 15:42:02,604 INFO spawned: 'php-fpm84' with pid 26
zabbix_web | [28-Mar-2026 15:42:02] NOTICE: fpm is running, pid 26
zabbix_web | [28-Mar-2026 15:42:02] NOTICE: ready to handle connections
zabbix_web | 2026-03-28 15:42:04,796 INFO success: nginx entered RUNNING state, process has stayed up for > than 2 seconds (startsecs)
zabbix_web | 2026-03-28 15:42:04,796 INFO success: nginx entered RUNNING state, process has stayed up for > than 2 seconds (startsecs)
zabbix_agent | ** Preparing Zabbix agent
zabbix_agent | ** Using 'zabbix-server' servers for passive checks
zabbix_agent | ** Using 'zabbix-server' servers for active checks
zabbix_agent | Starting Zabbix Agent [Zabbix server]. Zabbix 7.4.8 (revision 6b0f6b2).
zabbix_agent | Press Ctrl+C to exit.
zabbix_agent |
zabbix_agent | 1:20260328:154143.729 Starting Zabbix Agent [Zabbix server]. Zabbix 7.4.8 (revision 6b0f6b2).
zabbix_agent | 1:20260328:154143.729 **** Enabled features ****
zabbix_agent | 1:20260328:154143.729 IPv6 support: YES
zabbix_agent | 1:20260328:154143.729 TLS support: YES
zabbix_agent | 1:20260328:154143.729 **************************
zabbix_agent | 1:20260328:154143.729 using configuration file: /etc/zabbix/zabbix_agentd.conf
zabbix_agent | 1:20260328:154143.733 agent #0 started [main process]
zabbix_agent | 12:20260328:154143.733 agent #1 started [collector]
zabbix_agent | 14:20260328:154143.733 agent #3 started [listener #2]
zabbix_agent | 18:20260328:154143.735 agent #7 started [listener #6]
zabbix_agent | 21:20260328:154143.736 agent #10 started [listener #9]
zabbix_agent | 20:20260328:154143.738 agent #9 started [listener #8]
zabbix_agent | 17:20260328:154143.740 agent #6 started [listener #5]
zabbix_agent | 19:20260328:154143.741 agent #8 started [listener #7]
zabbix_agent | 22:20260328:154143.741 agent #11 started [listener #10]
zabbix_agent | 23:20260328:154143.743 agent #12 started [active checks #1]
zabbix_agent | 16:20260328:154143.743 agent #5 started [listener #4]
zabbix_agent | 15:20260328:154143.748 agent #4 started [listener #3]
zabbix_agent | 13:20260328:154143.749 agent #2 started [listener #1]
zabbix_agent | 23:20260328:154143.754 Unable to connect to [zabbix-server]:10051 [getaddrinfo() failed for 'zabbix-server': [0] Unknown error]
zabbix_agent | 23:20260328:154143.754 Unable to send heartbeat message to [zabbix-server]:10051 [getaddrinfo() failed for 'zabbix-server': [0] Unknown error]
zabbix_agent | 23:20260328:154143.755 Unable to connect to [zabbix-server]:10051 [getaddrinfo() failed for 'zabbix-server': [0] Unknown error]
zabbix_agent | 23:20260328:154143.755 Active check configuration update started to fail
zabbix_agent | 23:20260328:154243.762 Active check configuration update from [zabbix-server:10051] is working again
mysql | 2026-03-28 15:41:43+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.45-1.el9 started.
mysql | 2026-03-28 15:41:43+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
mysql | 2026-03-28 15:41:43+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.45-1.el9 started.
.........(下面内容就省略)
打开网页
http://服务器IP:8080
账号:Admin 密码:zabbix
