docker compose(了解)
8.1 docker compose简介
1、Docker Compose是一个工具,用于定义和运行多容器应用程序的工具;
2、Docker Compose通过yml文件定义多容器的docker应用;
3、Docker Compose通过一条命令根据yml文件的定义去创建或管理多容器;
Docker Compose 是用来做Docker 的多容器控制,有了 Docker Compose 你可以把所有繁复的 Docker 操作全都一条命令,自动化的完成。
官网地址:https://docs.docker.com/compose/install/linux/
8.2 下载与安装
下载与安装:
# 创建指定目录存储docker compose
mkdir -p /usr/local/lib/docker/cli-plugins
# 下载并移动
curl -SL https://github.com/docker/compose/releases/download/v2.14.2/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
# 给docker-compose文件赋予可执行权限
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
# 查看docker compose的版本
docker compose version
8.3 入门案例
需求:使用docker compose部署redis
docker-compose.yml文件的内容如下所示:
services:
redis:
image: redis:7.0.10
container_name: redis
ports:
- "6379:6379"
volumes:
- redis-data:/data
volumes:
redis-data: {}
docker compose相关命令:
# 启动容器(如果不存在容器就创建、存在则修改)
docker compose -f docker-compose.yml up -d
# 删除所有容器
docker compose -f docker-compose.yml down
# 停止所有容器
docker compose -f docker-compose.yml stop
# 启动所有容器
docker compose -f docker-compose.yml start
# 重启所有容器
docker compose -f docker-compose.yml restart
docker compose文件中其他的常见指令参考官方文档:https://docs.docker.com/compose/compose-file/05-services/
8.4 编排Spring Boot项目
需求:使用docker compose部署第六章的spring boot项目
docker-compose.yml文件的内容如下所示:
services:
# 部署mysql
mysql:
container_name: mysql
image: mysql:8.0.29
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
- mysql_conf:/etc/mysql
privileged: true
environment:
- "MYSQL_ROOT_PASSWORD=1234"
# 部署spring boot项目
ebuy:
container_name: ebuy
image: ebuy-docker
ports:
- "8081:8081"
volumes:
mysql_data: {}
mysql_conf: {}