这是我参与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
到这如果没出错,就已经运行成访问接口。
这只是一种方式
和师傅用的好像不一样,记不清了!(我觉得用maven 构建的方式挺好的)
等明天再学学其他方法
小菜鸡不能坐以待毙!