设置相关配置
设置 mysql 配置
__set_config_mysql() {mkdir -p /data/docker-data/mysql/confcat >/data/docker-data/mysql/conf/my8.cnf <<-'AEOF'[mysqld]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdatadir = /var/lib/mysqlsecure-file-priv= NULL# Custom config should go here!includedir /etc/mysql/conf.d/max_connections=5000max_heap_table_size=1Gtmp_table_size=1Gjoin_buffer_size=2Ginnodb_buffer_pool_size=12Ginnodb_buffer_pool_instances=64innodb_flush_log_at_timeout=3innodb_read_io_threads=32innodb_write_io_threads=16innodb_io_capacity=5000innodb_io_capacity_max=10000AEOF}__set_config_mysql
设置 zabbix 配置
__set_zabbix_server() {mkdir -p /data/docker-data/zabbix/confcat >/data/docker-data/zabbix/conf/zabbix_server.conf <<-'AEOF'LogType=consoleDBHost=mysql8DBName=zabbixDBUser=zabbixDBPassword=passwdDBPort=3306StartPollers=50StartPreprocessors=50StartPollersUnreachable=10StartTrappers=50StartDiscoverers=5StartTimers=10StartEscalators=10CacheSize=8GHistoryCacheSize=2GHistoryIndexCacheSize=2GTrendCacheSize=2GValueCacheSize=2GAlertScriptsPath=/usr/lib/zabbix/alertscriptsExternalScripts=/usr/lib/zabbix/externalscriptsFpingLocation=/usr/sbin/fpingSSHKeyLocation=/var/lib/zabbix/ssh_keysUser=zabbixSSLCertLocation=/var/lib/zabbix/ssl/certs/SSLKeyLocation=/var/lib/zabbix/ssl/keys/SSLCALocation=/var/lib/zabbix/ssl/ssl_ca/LoadModulePath=/var/lib/zabbix/modules/AEOF}__set_zabbix_server
启动相关容器
启动 mysql
__run_mysql() {docker rm -f mysql8docker run --name mysql8 -t \--restart=always \-p 3306:3306 \-e MYSQL_USER="zabbix" \-e MYSQL_PASSWORD="passwd" \-e MYSQL_ROOT_PASSWORD="passwd" \-v /data/docker-data/mysql/data:/var/lib/mysql \-v /data/docker-data/mysql/log:/var/log/mysql \-v /data/docker-data/mysql/conf/my8.cnf:/etc/mysql/my.cnf \-v /data/docker-data/mysql/mysql-files:/var/lib/mysql-files/ \-d mysql:8.0.25 \--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci \--default-authentication-plugin=mysql_native_password}__run_mysql
启动 zabbix-server-mysql
__run_zabbix_server_mysql() {docker rm -f zabbix-server-mysqldocker run --name zabbix-server-mysql -itd \-e DB_SERVER_HOST="mysql8" \-e MYSQL_DATABASE="zabbix" \-e MYSQL_USER="zabbix" \-e MYSQL_PASSWORD="passwd" \-e MYSQL_ROOT_PASSWORD="passwd" \-v /data/docker-data/zabbix/conf/zabbix_server.conf:/etc/zabbix/zabbix_server.conf \--restart=always \--link mysql8:db \-p 10051:10051 \zabbix/zabbix-server-mysql:ubuntu-5.4.2}__run_zabbix_server_mysql
启动 zabbix web
__run_zabbix_web_nginx_mysql() {docker rm -f zabbix-web-nginx-mysqldocker run --name zabbix-web-nginx-mysql -itd \-e DB_SERVER_HOST="mysql8" \-e MYSQL_DATABASE="zabbix" \-e MYSQL_USER="zabbix" \-e MYSQL_PASSWORD="passwd" \-e MYSQL_ROOT_PASSWORD="passwd" \-e PHP_TZ="Asia/Shanghai" \--link mysql8:db \--link zabbix-server-mysql:zabbix-server \-p 80:8080 \-v /data/docker-data/zabbix/script/:/usr/share/zabbix/kuaicdn \zabbix/zabbix-web-nginx-mysql:ubuntu-5.4.2}__run_zabbix_web_nginx_mysql
Zabbix 默认账号密码
Admin
zabbxi
解决图形展示界面中文乱码的问题
docker exec -it -u root zabbix-web-nginx-mysql bash -c 'curl -o /usr/share/zabbix/assets/fonts/DejaVuSans.ttf https://kuaicdn.oss-cn-hangzhou.aliyuncs.com/zabbix/install/font/msyh.ttf'

如链接失效, 那么手动下载,上传到容器进行替换
