目录
一、docker compose介绍
docker compose是docker公司提供的容器管理、编排工具,通过docker-compose.yml定义项目相关的一组容器,组成一个完整的业务单元。
二、docker compose安装
1. 下载docker compose
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.15.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
## 如果设置系统中所有用户都可以使用,则用 /usr/local/lib/docker/cli-plugins 替换 ~/.docker/cli-plugins
2. 设置访问权限
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
## 所有用户使用
# sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
3. 测试是否安装成功
$ docker compose version
Docker Compose version v2.15.1
参考网址:Install the Compose plugin | Docker Documentation
三、常用命令
docker-compose -h # 查看帮助
docker-compose up # 启动所有docker-compose服务
docker-compose up -d # 启动所有docker-compose服务并后台运行
docker-compose down # 停止并删除容器、网络、卷、镜像。
docker-compose exec yml里面的服务id # 进入容器实例内部 docker-compose exec docker-compose.yml文件中写的服务id /bin/bash
docker-compose ps # 展示当前docker-compose编排过的运行的所有容器
docker-compose top # 展示当前docker-compose编排过的容器进程
docker-compose logs yml里面的服务id # 查看容器输出日志
docker-compose config # 检查配置
docker-compose config -q # 检查配置,有问题才有输出
docker-compose restart # 重启服务
docker-compose start # 启动服务
docker-compose stop # 停止服务
四、compose编排容器实例
1. 编写docker-compose.yml文件
version: "1" #版本号
services:
microService:
image: my_spring:1.0
container_name: myS
ports:
- "8090:8090"
volumes:
- /app/microService:/data
networks:
- my_net
depends_on:
- mysql
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: '123456'
ports:
- "3306:3306"
volumes:
- /usr/mysql_master/log:/var/log/mysql
- /usr/mysql_master/data:/var/lib/mysql
- /usr/mysql_master/conf:/etc/mysql
networks:
- my_net
command: --default-authentication-plugin=mysql_native_password #解决外部无法访问
networks:
my_net:
2. 检查yml文件
docker compose config -q
3. 启动服务
[root@bogon springboot]# docker compose up -d
[+] Running 3/3
⠿ Network springboot_my_net Created 0.3s
⠿ Container springboot-mysql-1 Started 0.6s
⠿ Container myS Started 1.0s
4. 停服务
[root@bogon springboot]# docker compose stop
[+] Running 2/2
⠿ Container myS Stopped 0.3s
⠿ Container springboot-mysql-1 Stopped 1.3s