下载docker-compose

下载地址:
https://github.com/docker/compose/releases

mv docker-compose-linux-x86_64  /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose
docker-compose --version

编写docker-compose.yaml

cat docker-compose.yaml
# 声明docker-compose的版本,未来该参数会被移除!
version: '3.8'

# 定义各个服务类型
services:
   # 我们可以自定义服务的名称,最好见名之意
   mysql-server:
     # 指定镜像的地址
     image: mysql:8.0.36-oracle
     # 指定容器的名称
     container_name: mysql-server
     # 指定重启策略
     restart: unless-stopped
     # 指定环境变量
     environment:
       MYSQL_ROOT_PASSWORD: "zabbix"
       MYSQL_DATABASE: zabbix
       MYSQL_USER: zabbix
       MYSQL_PASSWORD: zabbix
     # 加入自定义网络
     networks:
       - zabbix-net
     volumes:
       - /data/zabbix_mysql/data:/var/lib/mysql
     # 启动是传参
     command: ["--character-set-server=utf8", "--collation-server=utf8_bin", "--default-authentication-plugin=mysql_native_password"]

   zabbix-java-gateway:
     container_name: zabbix-java-gateway
     image: zabbix/zabbix-java-gateway:alpine-7.0-latest
     restart: unless-stopped
     networks:
       - zabbix-net

   zabbix-server:
     container_name: zabbix-server-mysql
     # 依赖哪个服务
     depends_on:
       - mysql-server
     image: zabbix/zabbix-server-mysql:alpine-7.0-latest
     restart: unless-stopped
     environment:
       DB_SERVER_HOST: mysql-server
       MYSQL_DATABASE: zabbix
       MYSQL_USER: zabbix
       MYSQL_PASSWORD: zabbix
       MYSQL_ROOT_PASSWORD: "zabbix"
       ZBX_JAVAGATEWAY: zabbix-java-gateway
     networks:
       - zabbix-net
     # 指定端口映射
     volumes:
       - /data/zabbix-server/conf:/etc/zabbix
     ports:
       - "10051:10051"

   zabbix-web-nginx-mysql:
     container_name: zabbix-web-nginx-mysql
     depends_on:
       - zabbix-server
     image: zabbix/zabbix-web-nginx-mysql:alpine-7.0-latest
     ports:
       - "80:8080"
     restart: unless-stopped
     environment:
       ZBX_SERVER_HOST: "zabbix-server"
       DB_SERVER_HOST: mysql-server
       MYSQL_DATABASE: zabbix
       MYSQL_USER: zabbix
       MYSQL_PASSWORD: zabbix
       MYSQL_ROOT_PASSWORD: "zabbix"
     networks:
       - zabbix-net


networks:
  zabbix-net:
     name: zabbix
     ipam:
       driver: default
       config:
         - subnet: 172.20.100.0/24
           gateway: 172.20.100.254

启动并验证

创建数据卷目录:
mkdir /data/zabbix-server/conf
mkdir /data/zabbix_mysql/data
docker-compose up -d
docker ps


启动的时候请注意:
volumes:
   - /data/zabbix-server/conf:/etc/zabbix
docker-compose中这段配置会将容器内的文件覆盖,所以先启动这个容器然后将里面的文件copy出来
docker cp zabbix-server-mysql:/etc/zabbix/zabbix_server.conf  /data/zabbix-server/conf/

登录zabbix: 默认账户密码: Admin/zabbix

image-20250425182743207

image-20250425183601433

部署完成。

部署完成过几分钟之后会发现:

image-20250427130252345

image-20250427130334485

这是因为我们是容器部署的,此容器没开启10050端口,不必理会,删除即可。

设置中文

image-20250427124812483

results matching ""

    No results matching ""