文章目录
- 1、docker compose简介
- 2、下载与安装
- 2.1、创建指定目录存储docker compose
- 2.2、下载docker-compose并移动到上面的目录下
- 2.3、给docker-compose文件赋予可执行权限
- 2.4、查看docker compose的版本
- 3、入门案例(使用docker compose部署redis)
- 3.1、在opt目录下新建文件`docker-compose.yml`
- 3.2、docker compose相关命令:
- 3.2.1、启动容器 myredis
- 3.2.2、查看容器 myredis
- 3.2.3、删除所有容器 myredis
- 4、编排Spring Boot项目
- 4.1、修改opt目录下 `docker-compose.yml`
- 4.2、启动容器 ebuy-mysql、ebuy-dockerv3.0
- 4.3、查看容器 ebuy-mysql、ebuy-dockerv3.0
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/
2、下载与安装
# 创建指定目录存储docker compose
mkdir -p /usr/local/lib/docker/cli-plugins# 安装方式1-联网下载:下载docker-compose并移动到上面的目录下: 下载可能会失败!!!!!!
#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
# 安装方式2-通过xshell将课件`资料/day01`目录下的docker-compose 上传到上面的目录下:
# 给docker-compose文件赋予可执行权限
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose# 查看docker compose的版本
docker compose version
2.1、创建指定目录存储docker compose
[root@localhost ~]# mkdir -p /usr/local/lib/docker/cli-plugins
[root@localhost ~]# cd /usr/local/lib/docker/cli-plugins
[root@localhost cli-plugins]# ll
总用量 0
[root@localhost cli-plugins]#
2.2、下载docker-compose并移动到上面的目录下
2.3、给docker-compose文件赋予可执行权限
[root@localhost cli-plugins]# sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
[root@localhost cli-plugins]# ll
总用量 43868
-rwxr-xr-x. 1 root root 44920832 9月 27 08:46 docker-compose
[root@localhost cli-plugins]#
2.4、查看docker compose的版本
[root@localhost cli-plugins]# docker compose version
Docker Compose version v2.14.2
3、入门案例(使用docker compose部署redis)
需求:使用docker compose部署redis
3.1、在opt目录下新建文件docker-compose.yml
内容如下所示:
services:redis:image: redis:latestcontainer_name: myredisports:- "7379:6379"volumes:- redis-data:/data
volumes:redis-data: {}
[root@localhost opt]# vim docker-compose.yml
3.2、docker compose相关命令:
-f, --file stringArray Compose configuration files
# 启动容器(如果不存在容器就创建、存在则修改)
docker compose -f docker-compose.yml up -d
# 停止所有容器
docker compose -f docker-compose.yml stop# 启动所有容器
docker compose -f docker-compose.yml start# 重启所有容器
docker compose -f docker-compose.yml restart
# 删除所有容器
docker compose -f docker-compose.yml down
docker compose文件中其他的常见指令参考官方文档:https://docs.docker.com/compose/compose-file/05-services/
3.2.1、启动容器 myredis
[root@localhost opt]# docker compose -f docker-compose.yml up -d
[+] Running 3/3⠿ Network opt_default Created 1.0s⠿ Volume "opt_redis-data" Created 0.0s⠿ Container myredis Started
3.2.2、查看容器 myredis
3.2.3、删除所有容器 myredis
[root@localhost opt]# docker compose -f docker-compose.yml down
[+] Running 2/2⠿ Container myredis Removed 0.3s⠿ Network opt_default Removed
4、编排Spring Boot项目
需求:使用docker compose部署 ebuy-docker
4.1、修改opt目录下 docker-compose.yml
内容如下所示:
services:mysql: # 部署mysql:不能使用已存在的容器 新建容器中没有ebuydocker容器需要使用的数据库表,需要我们再次初始化container_name: ebuy-mysqlimage: mysql:8ports:- "5306:3306"volumes:- ebuy-mysql_data:/var/lib/mysql- ebuy-mysql_conf:/etc/mysqlprivileged: trueenvironment:- "MYSQL_ROOT_PASSWORD=1234"ebuy: # 部署spring boot项目container_name: ebuy-dockerv3.0image: ebuy-docker:v2.0ports:- "8083:8081"
volumes:ebuy-mysql_data: {}ebuy-mysql_conf: {}
4.2、启动容器 ebuy-mysql、ebuy-dockerv3.0
[root@localhost opt]# docker compose -f docker-compose.yml up -d
[+] Running 5/5⠿ Network opt_default Created 0.4s⠿ Volume "opt_ebuy-mysql_data" Created 0.0s⠿ Volume "opt_ebuy-mysql_conf" Created 0.0s⠿ Container ebuy-mysql Started 3.0s⠿ Container ebuy-dockerv3.0 Started
4.3、查看容器 ebuy-mysql、ebuy-dockerv3.0