史上最全阿里云服务器上Docker部署Springboot项目 实战 每一步都带详细图解!!!
在学习编程的时候,我们都会想,该怎么把自己写出来的项目和创意分享给大家勒。直接给代码吗?平常人看不懂,环境还需要一大堆。
那么部署到服务器上,让人能够直接访问,我想这应该是最棒的方式了吧。
使用Docker 的话,那么就是让这个方便变得更加的便捷啦。

来源: 说唱新时代 鱼翅Fin《我是我最后的目击者》
一、前言
我写这个博客前已经将我需要的mysql、redis等等都安装好了。安装redis的博客、我之前也写啦的。
在这里只讲怎么将项目放到服务器上的docker上去跑,环境还是需要自己搭建的。
项目中用到什么,就要在docker中安装什么。
本人项目环境:
jdk11 、mysql 5.7、redis
项目结构

如果想要idea 中dockerfile 文件高亮的话,在idea下载一下docker插件

二、具体步骤:
1、打成jar包
1、将运行的项目使用maven打成jar包,率先放在本地测试,看有没有问题。

我这个是一个springboot项目 点击maven的打包之后 ,就会生成一个jar 包
然后在命令行编译它。

自己然后再在浏览器内进行测试。看是否可以运行。
成功的话,接下来就开始写Dockerfile文件。
2、Dockerfile文件内容
我用的是jdk11
FROM openjdk:11 # FROM: 基础镜像,基于jdk8镜像开始
COPY *.jar /app.jar # COPY: 将应用的配置文件也拷贝到镜像中。
CMD ["--server.port=8080"]
EXPOSE 8080 # EXPOSE:声明端口
ENTRYPOINT ["java","-jar","/app.jar"]
# ENTRYPOINT:docker启动时,运行的命令,这里容器启动时直接运行jar服务。
3、上传
上传jar包和dockerfile文件到服务器上去。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uql6kdhI-1619616926791)(发布项目到服务器上的Docker.assets/image-20210428210245926.png)]](https://i-blog.csdnimg.cn/blog_migrate/21c36767c158105467f1eac0f8a97a38.png#pic_center)
4、打包成docker镜像
我一开始的话 已经在服务器上把文件夹建好了…
就直接去这个文件下查看文件就好拉。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KV7KNKkK-1619616926795)(发布项目到服务器上的Docker.assets/image-20210428211321555.png)]](https://i-blog.csdnimg.cn/blog_migrate/b3551da5caad2bce0d685943c356c99f.png#pic_center)
查看无误后 用docker的打包命令 将这两个一起打包成一个镜像。 必须这两个东西都在一个文件下,才可以。
docker build -t news_school_web1 .
注: 先将最重要的, 最后是有一个小数点的,千万不要忘了。
- docker bulid 是打包命令
-t− 给镜像加一个Tag- 后面跟的 news_school_web1 就是为这个镜像取的名字
.小数点表示当前目录,即Dockerfile所在目录
成功的话 应该是这样子的
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dgwv3G3J-1619616926796)(发布项目到服务器上的Docker.assets/image-20210428212212251.png)]](https://i-blog.csdnimg.cn/blog_migrate/1d157053f700dd0f25d82a72c3207b83.png#pic_center)
当然这样是不够的,我们输入命令去查看一下。 看有没有这个镜像。
docker images
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O4lbs47R-1619616926800)(发布项目到服务器上的Docker.assets/image-20210428212413687.png)]](https://i-blog.csdnimg.cn/blog_migrate/48bfdf024d478b942fa4c660f5187923.png#pic_center)
5、启动镜像
docker run -d -p 8686:8686 --name news_web_test news_school_web1
- -d 是后台运行
- -p 8686:8686 是端口映射
- –name 取名字
- 最后跟的 news_school_web1 是我打包好的镜像名称。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qllErRpi-1619616926803)(发布项目到服务器上的Docker.assets/image-20210428212719782.png)]](https://i-blog.csdnimg.cn/blog_migrate/7feda06767d00ca5f8cbcae2d42658bb.png#pic_center)
查看
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hFGy4J3v-1619616926806)(发布项目到服务器上的Docker.assets/image-20210428212737960.png)]](https://i-blog.csdnimg.cn/blog_migrate/088bcceffdcaa182e67e1002e3992ffe.png#pic_center)
6、测试
-
先在服务器测试 成功返回我的页面
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hVQLrKCN-1619616926807)(发布项目到服务器上的Docker.assets/image-20210428212833550.png)]](https://i-blog.csdnimg.cn/blog_migrate/8c14e98b2d0cca38df5e7f944ac67602.png#pic_center)
-
接着在外网测试
http://IP地址:8686/login![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SdHLhW7A-1619616926808)(发布项目到服务器上的Docker.assets/image-20210428213108424.png)]](https://i-blog.csdnimg.cn/blog_migrate/5f0b052e126119451be0a8c682269ed3.png#pic_center)
我用的是post测试,成功返回自己的数据,就代表已经成功在运行拉。
日常自言自语
想着这一次将过程好好记录下来,在能够帮助到自己的同时,再帮助到其他人。😊
下一篇部署前端的已经在着手准备了,只是还没写完。![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nZ3FlXuw-1619616926809)(发布项目到服务器上的Docker.assets/21f15fe11b7a84d2f2121c16dec50a4e4556f865.png@100w_100h.webp)]](https://i-blog.csdnimg.cn/blog_migrate/3f10b99fcf81762396c21d552c4cd2e5.png#pic_center)
更多推荐
所有评论(0)