11-docker单机版的容器编排工具docker-compose基本使用
文章目录
- 一.docker-compose概述
- 1.什么是docker-compose
- 2.安装docker-compose
- 二.docker-compose常用命令总结
- 三.docker-compose案例-zabbix5.4 或者zabbix7.2
- 1.编写zabbix的docker-compose.yml 配置文件
- 2.使用docker-compose工具管理zabbix容器
一.docker-compose概述
1.什么是docker-compose
所谓的容器编排工具,指的是批量管理一组容器的方法目前比较主流的单机编排工具自然是"docker-compose",其可以描述docker如何启动一组容器关于compose文件编写规范可参考GitHub链接哟:https://github.com/compose-spec/compose-spec/blob/master/spec.md
2.安装docker-compose
(1)需要先安装epel环境[root@docker01 ~]# yum -y install epel-release(2)安装docker-compose[root@docker01 ~]# yum -y install docker-compose
二.docker-compose常用命令总结
推荐阅读:https://docs.docker.com/compose/gettingstarted/https://docs.docker.com/compose/compose-file/compose-file-v3/https://docs.docker.com/compose/compose-file/compose-file-v2/
三.docker-compose案例-zabbix5.4 或者zabbix7.2
1.编写zabbix的docker-compose.yml 配置文件
注意!!!,需要安装什么版本。直接修改即可
cat > docker-compose.yml <<EOF
version: '3'services:mysql-server:image: mysql:8.0restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: root_pwdMYSQL_DATABASE: zabbixMYSQL_USER: zabbixMYSQL_PASSWORD: zabbix_pwdnetworks:- zabbix-netcommand: ["--character-set-server=utf8", "--collation-server=utf8_bin", "--default-authentication-plugin=mysql_native_password"]zabbix-java-gateway:image: zabbix/zabbix-java-gateway:alpine-5.4-latestrestart: alwaysnetworks:- zabbix-netzabbix-server:depends_on:- mysql-serverimage: zabbix/zabbix-server-mysql:alpine-5.4-latestrestart: alwaysenvironment:DB_SERVER_HOST: mysql-serverMYSQL_DATABASE: zabbixMYSQL_USER: zabbixMYSQL_PASSWORD: zabbix_pwdMYSQL_ROOT_PASSWORD: root_pwdZBX_JAVAGATEWAY: zabbix-java-gatewaynetworks:- zabbix-netports:- "10051:10051"zabbix-web-nginx-mysql:depends_on:- zabbix-serverimage: zabbix/zabbix-web-nginx-mysql:alpine-5.4-latestports:- "80:8080"restart: alwaysenvironment:DB_SERVER_HOST: mysql-serverMYSQL_DATABASE: zabbixMYSQL_USER: zabbixMYSQL_PASSWORD: zabbix_pwdMYSQL_ROOT_PASSWORD: root_pwdnetworks:- zabbix-netnetworks:zabbix-net:EOF#zabbix7.2版本
cat > docker-compose.yml <<EOF
version: '3'services:mysql-server:image: mysql:8.0restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: root_pwdMYSQL_DATABASE: zabbixMYSQL_USER: zabbixMYSQL_PASSWORD: zabbix_pwdnetworks:- zabbix-netcommand: ["--character-set-server=utf8", "--collation-server=utf8_bin", "--default-authentication-plugin=mysql_native_password"]zabbix-java-gateway:image: zabbix/zabbix-java-gateway:alpine-7.2-latestrestart: alwaysnetworks:- zabbix-netzabbix-server:depends_on:- mysql-serverimage: zabbix/zabbix-server-mysql:alpine-7.2-latestrestart: alwaysenvironment:DB_SERVER_HOST: mysql-serverMYSQL_DATABASE: zabbixMYSQL_USER: zabbixMYSQL_PASSWORD: zabbix_pwdMYSQL_ROOT_PASSWORD: root_pwdZBX_JAVAGATEWAY: zabbix-java-gatewaynetworks:- zabbix-netports:- "10051:10051"zabbix-web-nginx-mysql:depends_on:- zabbix-serverimage: zabbix/zabbix-web-nginx-mysql:alpine-7.2-latestports:- "80:8080"restart: alwaysenvironment:DB_SERVER_HOST: mysql-serverMYSQL_DATABASE: zabbixMYSQL_USER: zabbixMYSQL_PASSWORD: zabbix_pwdMYSQL_ROOT_PASSWORD: root_pwdnetworks:- zabbix-net
networks:zabbix-net:
EOF#命令行直接运行,前台运行
docker-compose up#放入后台运行
docker-compose up -d温馨提示:#以上是简单的模版使用,如何还需要添加其他功能,还在是某些字段。参考:https://github.com/zabbix/zabbix-docker/blob/24cec2127311e8c6367fbfe67216c0dd9d60b5c4/docker-compose_v3_alpine_mysql_local.yaml#想使用Ubuntu也有:https://github.com/zabbix/zabbix-docker/blob/24cec2127311e8c6367fbfe67216c0dd9d60b5c4/docker-compose_v3_ubuntu_mysql_local.yaml#看不懂字段意思,查找
https://docs.docker.com/reference/compose-file/build/https://docs.docker.com/reference/compose-file/services/#或者直接使用,豆包,或者Kimi,百度等搜素问问
https://www.doubao.com/
https://kimi.moonshot.cn/
2.使用docker-compose工具管理zabbix容器
docker-compose up:创建容器并启动.
docker-compose down:停止并删除容器.
docker-compose up -d :创建容器并后台启动
docker-compose start:容器全部启动
[root@docker01 docker-compose]# docker container ps
[root@docker01 docker-compose]# docker-compose stop zabbix-java-gateway zabbix-serverdocker-compose stop zabbix-server:仅启动abbix-server服务对应的容器
docker-compose stop:容器全部停止
docker-compose stop zabbix-server:仅停止zabbix-server服务对应的容器
docker-compose restart容器全部重启docker-compose scale zabbix-java-gateway=3 # 要注意端口冲突的问题,指定的services不应该有ports属性温馨提示:其他帮助信息请直接参考:"docker-compose --help"
pose stop zabbix-server:仅停止zabbix-server服务对应的容器
docker-compose restart容器全部重启docker-compose scale zabbix-java-gateway=3 # 要注意端口冲突的问题,指定的services不应该有ports属性温馨提示:其他帮助信息请直接参考:"docker-compose --help"