当前位置:   article > 正文

Linux docker5--docker-compose快速部署多个项目

Linux docker5--docker-compose快速部署多个项目

一、前面几篇博客通过docker完成了项目的部署和运行。实际工作中,我们的微服务项目部署时往往有几十甚至几百个服务,虽然单个部署很简单,但是几百个部署起来还是挺费劲的,今天我们来演示一下使用docker-compose是如何快速部署多个服务的。

二、docker-compose概念
是一个用来定义和运行多个复杂应用的Docker编排工具。通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。

三、安装docker-compose步骤
1、安装Compose插件(使用储存库方式)
命令:
sudo yum update
sudo yum install docker-compose-plugin
如上的两条命令,第一条是更新yum插件库(会比较慢,稍等一下,),第二条是下载和安装docker-compose
在这里插入图片描述
运行第一条命令直到出现Complete,标识更新完成
在这里插入图片描述
在这里插入图片描述
注:
本例仅仅以存储库的形式进行安装,也可参考官网如下位置使用其他方式安装。
官网:https://docs.docker.com/compose/install/
在这里插入图片描述
2、验证安装完成
docker compose version
在这里插入图片描述

3、单机版安装(以上2步实际已经够用了,扩展一下)
命令:
curl -SL https://github.com/docker/compose/releases/download/v2.24.7/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
以上命令,完成docker-compose下载,下载到/usr/local/bin/docker-compose路径下
在这里插入图片描述
执行下载后,打开目录可以看到如下
在这里插入图片描述
4、授予文件可执行的权限
命令:
chmod +x /usr/local/bin/docker-compose
在这里插入图片描述
5、查看是否安装成功
命令:
docker-compose version
在这里插入图片描述

以上的步骤,正常完成1,2或者3,4,5都可以。如果不行的话,可以从1到5都完成一下。

四、使用docker-compose运行多个项目
本例以同时启动redis和部署两个java服务为例。
1、创建目录,编写docker-compose.yml文件
如下:创建了一个目录,放上去docker-compose.yml和boot1,boot2两个文件夹。
在这里插入图片描述
docker-compose.yml配置如下:
示意:
(1)、使用redis的latest版本的镜像,以宿主机6379端口映射内部6379端口启动redis服务
(2)、在boot1目录下构建镜像,同时以宿主机8090 端口映射内部8000端口启动java服务
(3)、在boot2目录下构建镜像,同时以宿主机8091 端口映射内部8000端口启动java服务

version: "3"
services:

  redis:
    image: redis:latest
    ports:
      - 6379:6379

  boot1:
    build: ./boot1
    ports:
      - 8090:8000

  boot2:
    build: ./boot2
    ports:
      - 8091:8000
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

2、在boot1中放入构建所需的jar包和Dockerfile文件
在这里插入图片描述
boot1下的Dockerfile示例如下:
注意:jar包名称需要和放入的jar包名称一致,通知暴露端口(8000)需要和上面docker-compose.yml映射的内部端口一致

# 使用OpenJDK作为基础镜像  
FROM openjdk:8-jre-alpine  
  
# 设置工作目录  
WORKDIR /app  
  
# 将本地的JAR包复制到容器的/app目录下  
COPY boot1.jar /app/  
  
# 设置环境变量,指定JAR包名  
ENV JAR_FILE=boot1.jar  
  
# 暴露应用的端口(根据你的应用需要修改)  
EXPOSE 8000
  
# 启动命令  
ENTRYPOINT java -jar /app/boot1.jar
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

3、同理,按照2步骤,放入boot2文件夹的jar包和Dockerfile
在这里插入图片描述
4、使用docker-compose运行上面的docker-compose.yml配置
命令:
docker-compose -f docker-compose.yml up -d
在这里插入图片描述
5、运行完成后,验证下运行结果
(1)、docker images可以查看到boot1和boot2的镜像构建完成
在这里插入图片描述
(2)、docker ps可以看到启动了redis和boot1和boot2,一共3个服务
在这里插入图片描述
(3)、redis连接正常
在这里插入图片描述
(4)、boot1(宿主机:8090端口)服务调用正常
在这里插入图片描述
(5)、boot2(宿主机:8091端口)服务调用正常
在这里插入图片描述

以上完成了使用docker-compose,快速部署多个项目的演示。如果需要部署不同的服务,仅修改docker-compose.yml即可。也可以创建多个docker-compose.yml文件,运行时指定不同的配置文件。

学海无涯苦作舟!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/300431
推荐阅读
相关标签
  

闽ICP备14008679号