【windows】docker与docker-compose部署spring boot项目

看完不会用,我倒立**,保姆级教学

docker部署项目

采用Dockerfile部署

docker-compose部署项目

docker-compose部署,实际上是对容器的编排,以及容器间的一些依赖
比如一个springboot项目,需要使用redis,mysql,es等组件,如果使用docker部署的话,先要拉去redis镜像,再创建容器启动,然后再拉去mysql镜像,再创建容器启动…依赖组件越多,操作越复杂,docker-compose就是解决这个问题的

准备环境:
Docker Desktop
安装好这个,docker和docker-compose都可以使用了
在这里插入图片描述
IDEA
项目地址github
在这里插入图片描述
项目是最基本的springboot项目,主要来看一下Dockerfile和docker-compose.yml文件

FROM openjdk
MAINTAINER zxz
ADD /target/compose-demo-1.0-SNAPSHOT.jar  compose-demo.jar
EXPOSE 9999
ENTRYPOINT ["java","-jar","/compose-demo.jar"]

FROM openjdk:项目依赖与jdk
MAINTAINER zxz:作者信息,可以不要
ADD /target/compose-demo-1.0-SNAPSHOT.jar compose-demo.jar:maven打包后,会在target文件下生成compose-demo-1.0-SNAPSHOT.jar, 将其改名为compose-demo.jar
EXPOSE 9999:暴露端口
ENTRYPOINT [“java”,“-jar”,“/compose-demo.jar”]:执行的命令,此处可以加-D指定参数

使用docker build创建镜像:
在这里插入图片描述

docker build -f Dockerfile -t compose-demo .

在这里插入图片描述

创建的镜像如下图所示:
在这里插入图片描述

当然我们可以直接通过docker run运行(下图与命令行效果一致)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
浏览器访问:
在这里插入图片描述

上面我们就通过Dockerfile部署spring boot项目了

下面进入正题,通过dockers-compse编排(以mysql为例)
打开docker-compose.yml文件,其中volumes数据卷你们需要改一下

version: "1"
services:
  compose-demo:
    image: compose-demo
    container_name: compose-demo
    ports:
      - "9999:9999"
    links:
      - mysql
    depends_on:
      - mysql
  mysql:
    image: mysql:8.0-debian
    container_name: mysql-compose
    ports:
      - "3306:3306"
      - "33060:33060"
    environment:
      MYSQL_ROOT_PASSWORD: 12345678
    volumes:
      - E:\software\docker\volume\mysql\conf:/etc/mysql/conf.d
      - E:\software\docker\volume\mysql\data:/var/log/mysql
      - E:\software\docker\volume\mysql\data:/var/lib/mysql

粗略的解释一下:
services:是服务集合,里面包含compose-demo,mysql等(还可以加上redis等)
compose-demo:服务名(下面的mysql也是服务名)
image:镜像,如果镜像不存在,则会自动拉去镜像(docker.hub.com)
container_name:使用镜像生成的容器名
environment:创建容器携带的参数
ports:容器暴露的端口
volumes:数据卷(使用过docker创建mysql容器就知道这是什么东西)
数据卷格式 pathA:pathB(pathA宿主机路径,pathB容器路径)
depends_on:依赖于,这个用来控制容器启动顺序
在这里插入图片描述
执行指令

docker-compose up -d

会先拉去mysql镜像
在这里插入图片描述

备注:若出现navicate无法连接mysql时(lost connection to mysql server),重启一下mysql容器即可,亲测有效

然后会创建容器
在这里插入图片描述
生成的效果
在这里插入图片描述
至此,完成了

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用Spring BootDocker Compose来部署多个项目是一种常见的做法,它可以有效地管理多个项目部署和运行。 首先,我们需要为每个项目创建一个独立的Spring Boot应用程序。每个应用程序都应该有自己的独立配置文件、依赖项和实体类。这样,每个项目都可以独立运行和管理。 接下来,我们可以使用Docker Compose来管理这些项目的容器化部署Docker Compose是一个用于定义和管理多个Docker容器的工具,它允许我们将多个容器配置集中在一个单独的文件中进行管理。 我们可以创建一个名为docker-compose.yml的文件,并在其中定义每个项目的容器配置。对于每个项目,我们可以指定要使用的镜像、容器的名称、端口映射等信息。在该文件中,我们还可以定义项目之间的网络连接、依赖关系等。 一旦我们定义了每个项目的容器配置,我们只需运行一个命令docker-compose up就可以启动所有项目的容器。Docker Compose将会自动下载并启动所需的镜像,并将所有容器连接到一个共享的网络中。 通过配置Docker Compose,我们可以同时管理多个项目的配置和依赖项,简化了部署和运行的过程。使用Docker Compose,我们可以轻松地扩展和管理多个项目,提高了应用程序的可伸缩性和可维护性。 总之,通过结合Spring BootDocker Compose,我们可以实现轻松部署、运行和管理多个项目的目标。这种方式可以极大地简化开发人员的工作,提高项目部署效率和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值