如何在ubuntu系统上使用docker部署SpringBoot项目

1.建立一个文件夹(文件夹名称随意)

mkdir testDocker

2.打开文件夹子

cd testDocker

3.上传打包好的jar包

rz

运行rz命令报错的伙伴先根绝提示导入rz命令依赖。

4.编写Dockerfile文件(注意:文件名称强烈建议设为Dockerfile,并不是强制要求,但是需要改动很多配置,而且相当于国际惯例)

touch Dockerfile

5.编辑Dockerfile内容

vi Dockerfile

6.Dockerfile的内容如下

FROM hub.c.163.com/bingohuang/jdk8:latest
MAINTAINER geduo
COPY 你的jar包名称.jar app.jar
EXPOSE 8000
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

简单解析一下这个Dockerfile:

FROM:当前创建的镜像所基于的镜像
MAINTAINER :作者名称
COPY:拷贝(这里是把jar包拷贝到当前镜像的容器里面),这里Dockerfile和jar包位于同一目录
EXPOSE:服务对外暴露的端口
ENTRYPOINT:容器入口,其中java -jar /app.jar就是运行jar包的意思,“-Djava.security.egd=file:/dev/./urandom ” 这条命令因为linux中和windows中取随机数时的参考策略不同,linux默认的随机数会被取完,导致返回-1.而制定/dev/./urandom这个取随机数的策略时,当随机数取完之后会返回伪随机数,不至于影响业务。

Dockerfile除了这几个常用的命令tag外,还有诸如:RUN,ADD,CMD,VOLUME…等一系列命令tag,有兴趣的伙伴可以自行去学习,这里不再提及。

7.创建镜像

docker build -t 镜像名:版本号 .

这里要注意一下 镜像名是必须的,:版本号非必须的,个人建议加个版本号,尤其注意命令最后面的 “.”不要遗漏。示例:
docker build -t imagename:1 .

当出现如下图所示,则创建镜像成功:
在这里插入图片描述

8.查看镜像列表

docker images

如图所示
在这里插入图片描述
9.运行镜像

docker run -d -p 9000:8000 镜像名

注意要把“镜像名”替换成你刚才的镜像命名,注意端口号顺序,9000是指在doocker暴露在外部的端口,8000是指docker里面的项目的端口.

10.访问你的服务,成功访问则成功。(http://localhost:9000)

提示SpringCloud组建的微服务从结构上解析,就是由多个SpringBoot项目组成,服务使用docker打包发布可以用当前教程作为参考,如果涉及多容器App则会相对复杂一点(后面看情况是否再出一个教程)。

### 如何在 Ubuntu 22.04 上部署 Spring Boot 项目 #### 准备工作环境 为了成功部署 Spring Boot 应用程序,在服务器上安装必要的依赖项至关重要。对于基于 Java 的应用程序,确保已安装 JDK 和 Docker。 Java 开发工具包 (JDK) 是运行任何 Java 或者 Kotlin 编写的软件所必需的基础组件之一。可以通过以下命令来安装 OpenJDK: ```bash sudo apt update && sudo apt install openjdk-17-jdk -y ``` 确认安装版本: ```bash java -version ``` 这会显示当前使用的 Java 版本信息[^3]。 #### 构建并打包 Spring Boot 应用 通常情况下,Spring Boot 应用会被打包成一个可执行 JAR 文件。如果还没有准备好这个文件,则需要先通过 Maven 或 Gradle 来编译源代码并创建发布版的 jar/war 文件。 假设已经有一个名为 `myapp.jar` 的 Spring Boot 可执行 JAR 文件准备就绪。 #### 使用 Docker 打包应用 Dockerfile 是定义容器化环境中所需配置的关键文本文件。下面是一个简单的例子用于构建包含 Spring Boot 应用的服务镜像: ```dockerfile FROM eclipse-temurin:17-alpine WORKDIR /app COPY myapp.jar app.jar ENTRYPOINT ["java","-jar","/app/app.jar"] EXPOSE 8080 ``` 上述脚本指定了基础映像、设置了工作目录、复制了应用程序二进制文件以及声明了启动命令和服务监听端口。 #### 创建自定义 Docker 映像 有了合适的 Dockerfile 后就可以利用它来制作自己的 Docker 映像了。进入放置有 Dockerfile 的路径下执行如下指令完成映像建立过程: ```bash docker build -t springboot-app . ``` 此操作将会读取本地磁盘上的 Dockerfile 并按照其中指示逐步组装最终产物——即带有特定标签 (`springboot-app`) 的新映像。 #### 运行容器实例 最后一步就是实际启动服务啦!借助之前生成好的映像,只需简单调用 docker run 命令就能让一切运转起来: ```bash docker run -d -p 8080:8080 --name myspringbootapp springboot-app ``` 这条语句表示以后台模式开启一个新的进程 (-d 参数),并将主机的 8080 端口号转发给容器内部相同编号的位置(-p 参数),同时指定容器名称(--name参数)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迪八戈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值