有网环境安装docker
# 安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新并安装 Docker-CE
yum makecache fast
yum -y install docker-ce
# 开启Docker服务
systemctl start docker
# 设置开机自启动
systemctl enable docker.service
无网环境安装docker
# docker rpm包下载地址,选择一个版本下载,我用的是docker-ce-18.03.1.ce-1.el7.centos.x86_64
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
rpm -ivh docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm #传到服务器上,然后执行
有网环境安装docker-compose
# 下载docker-compose
curl -L https://github.com/docker/compose/releases/download/1.28.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose #授权
下载中文字体
yum -y install wget #安装wget
cd /usr/local/bin/#进入目录
mkdir -p zabbix/fonts& mkdir alertscripts& mkdir db #创建目录
cd zabbix/fonts #进入目录
wget https://dl.cactifans.com/zabbix_docker/msty.ttf #下载字体
cp msty.ttf DejaVuSans.ttf #zabbix字体需要命名为DejaVuSans.ttf
如果没有网络,下载字体这一步就在本机下载字体再上传到目录中,wget地址直接在阅览器输入即可下载。
编写docker-compose.yml文件
cd /usr/local/bin/zabbix #进入目录
vi docker-compose.yml
version: '3'
services:
zabbix-web-nginx-mysql:
image: zabbix/zabbix-web-nginx-mysql:centos-5.2.4
container_name: zabbix-web-nginx-mysql
restart: always
environment:
- DB_SERVER_HOST=zabbix-mysql
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=root
- ZBX_SERVER_HOST=zabbix-server-mysql
ports:
- 8080:8080
volumes:
- /etc/localtime:/etc/localtime
- /usr/local/bin/zabbix/fonts/DejaVuSans.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf
networks:
- net
depends_on:
- zabbix-mysql
- zabbix-server-mysql
zabbix-mysql:
image: mysql:8.0.23
container_name: zabbix-mysql
restart: always
environment:
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=root
command:
- mysqld
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8
- --collation-server=utf8_bin
volumes:
- /etc/localtime:/etc/localtime
- /usr/local/bin/zabbix/db:/var/lib/mysql
networks:
- net
zabbix-java-gateway:
image: zabbix/zabbix-java-gateway:centos-5.2.4
container_name: zabbix-java-gateway
restart: always
volumes:
- /etc/localtime:/etc/localtime
networks:
- net
zabbix-server-mysql:
image: zabbix/zabbix-server-mysql:centos-5.2.4
container_name: zabbix-server-mysql
restart: always
volumes:
- server-vol:/etc/zabbix
- /usr/local/bin/zabbix/alertscripts:/usr/lib/zabbix/alertscripts
- /etc/localtime:/etc/localtime
ports:
- 10051:10051
environment:
- DB_SERVER_HOST=zabbix-mysql
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=root
- ZBX_JAVAGATEWAY=zabbix-java-gateway
- ZBX_JAVAGATEWAY_ENABLE=true
- ZBX_JAVAGATEWAYPORT=10052
- ZBX_STARTPOLLERS=15
- ZBX_STARTTRAPPERS=10
- ZBX_STARTDISCOVERERS=5
depends_on:
- zabbix-mysql
networks:
- net
zabbix-agent2:
image: zabbix/zabbix-agent2:latest
container_name: zabbix-agent2
restart: always
ports:
- 10050:10050
environment:
- ZBX_HOSTNAME=Zabbix server
- ZBX_SERVER_HOST=zabbix-server-mysql
- ZBX_SERVER_PORT=10051
networks:
- net
networks:
net:
driver: bridge
volumes:
server-vol:
编译docker-compose.yml
docker-compose up -d #编译
这里如果没网的话可以在虚拟机有网环境搭建一下,然后把镜像导出成tar上传进去,然后再执行编译。
docker save -o tar文件名称 镜像REPOSITORY:TAG #打包
docker load -i tar文件名称 #加载镜像
访问zabbix-web界面
http://IP:8080