史上最全阿里云服务器上Docker部署Springboot项目 实战 每一步都带详细图解!!!

本文档详细介绍了如何将一个SpringBoot项目通过Docker部署到服务器上,包括创建Dockerfile,打包上传,启动镜像,并进行内外部测试。重点讲述了Dockerfile的编写和docker命令的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学习编程的时候,我们都会想,该怎么把自己写出来的项目和创意分享给大家勒。直接给代码吗?平常人看不懂,环境还需要一大堆。
那么部署到服务器上,让人能够直接访问,我想这应该是最棒的方式了吧。
使用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)]

4、打包成docker镜像

我一开始的话 已经在服务器上把文件夹建好了…

就直接去这个文件下查看文件就好拉。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KV7KNKkK-1619616926795)(发布项目到服务器上的Docker.assets/image-20210428211321555.png)]

查看无误后 用docker的打包命令 将这两个一起打包成一个镜像。 必须这两个东西都在一个文件下,才可以。

docker build -t news_school_web1 .  

注: 先将最重要的, 最后是有一个小数点的,千万不要忘了。

  • docker bulid 是打包命令
  • -t − 给镜像加一个Tag
  • 后面跟的 news_school_web1 就是为这个镜像取的名字
  • . 小数点表示当前目录,即Dockerfile所在目录

成功的话 应该是这样子的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dgwv3G3J-1619616926796)(发布项目到服务器上的Docker.assets/image-20210428212212251.png)]

当然这样是不够的,我们输入命令去查看一下。 看有没有这个镜像。

docker images

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O4lbs47R-1619616926800)(发布项目到服务器上的Docker.assets/image-20210428212413687.png)]

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)]

查看

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hFGy4J3v-1619616926806)(发布项目到服务器上的Docker.assets/image-20210428212737960.png)]

6、测试
  • 先在服务器测试 成功返回我的页面

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hVQLrKCN-1619616926807)(发布项目到服务器上的Docker.assets/image-20210428212833550.png)]

  • 接着在外网测试

    http://IP地址:8686/login
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SdHLhW7A-1619616926808)(发布项目到服务器上的Docker.assets/image-20210428213108424.png)]

我用的是post测试,成功返回自己的数据,就代表已经成功在运行拉。

日常自言自语

想着这一次将过程好好记录下来,在能够帮助到自己的同时,再帮助到其他人。😊
下一篇部署前端的已经在着手准备了,只是还没写完。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nZ3FlXuw-1619616926809)(发布项目到服务器上的Docker.assets/21f15fe11b7a84d2f2121c16dec50a4e4556f865.png@100w_100h.webp)]

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值