docker compose 容器编排

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 927 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:latest
    container_name: myredis
    ports:
      - "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-mysql
    image: mysql:8
    ports:
      - "5306:3306"
    volumes:
      - ebuy-mysql_data:/var/lib/mysql
      - ebuy-mysql_conf:/etc/mysql
    privileged: true
    environment:
      - "MYSQL_ROOT_PASSWORD=1234"
  ebuy:    # 部署spring boot项目
    container_name: ebuy-dockerv3.0
    image: ebuy-docker:v2.0
    ports:
      - "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

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值