把 SpringBoot 项目部署到 Docker 上

231 阅读2分钟

这是我参与8月更文挑战的第22天,活动详情查看:8月更文挑战

前言

吃饱饭才有力气写代码~

昨天我们记录了怎么把一个前端的 Vue 项目打包部署到 Nginx 上,但是一般项目都会有前后端吧!所以今天就学习一下怎么把后端也部署上。

开始之前

首先回忆一下 Docker 是什么,它是目前最流行的 Linux 容器解决方案,它把应用程序和这个程序所需要的依赖打包在一个文件里,运行这个文件就能生成一个对应的容器,那个程序就可以在容器里运行。

创建 SpringBoot 项目

具体步骤我在之前的文章里也介绍过,这里就不再赘述,个人比较喜欢使用IDEA构建项目~

部署项目

因为我目前只接触过 Maven ,查阅了资料,正好有使用 Maven 构建的方法,在这记录一下;

在 pom 中加入 Docker 依赖

<!--新增加的一个 docker maven 插件-->
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
    <!--这里是镜像的名字-->
    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
    <!--DokcerFile文件地址-->
    <dockerDirectory>/slm/</dockerDirectory>
    <resources>
        <resource>
            <targetPath>/</targetPath>
            <directory>${project.build.directory}</directory>
            <include>${project.build.finalName}.jar</include>
        </resource>
    </resources>
</configuration>

这里需要注意的一点是那里面的 dockerDirectory 里还是要设置 Dockerfile 文件的路径(其实这里我目前还不太能理解,暂且先记录下来)

执行命令

把项目复制到 linux 主机,执行一个解压命令:

unzip SpringBoot项目名

然后执行下面这个 build 的命令:

 mvn  package docker:build

成功之后控制台会输出构建的镜像ID
接下来输入 run 命令来启动: (-d 表示后台输出;-p 映射端口号)

docker run -d -p  8080:8080 镜像id

到这如果没出错,就已经运行成访问接口。

这只是一种方式

006004CF.png 和师傅用的好像不一样,记不清了!(我觉得用maven 构建的方式挺好的)

等明天再学学其他方法

小菜鸡不能坐以待毙!