【docker】Spring Boot3.x 打包 Docker容器

Docker化Spring Boot应用

创建文件夹 demo

复制代码
mkdir demo

cd demo

创建Dockerfile

bash 复制代码
# 两个 openjdk 二选一
#FROM openjdk:17-jre-alpine

FROM eclipse-temurin:17

MAINTAINER chengxuyuanshitang  <chengxuyuanshitang@XX.com>

RUN mkdir -p  /workspace/java/demo

COPY demo.jar  /workspace/java/demo/demo.jar

ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", " /workspace/java/demo/demo.jar"]

CMD ["--spring.profiles.active=test"]

EXPOSE 8122
  1. FROM:指定基础镜像,项目是使用jdk17开发的项目,所以我们指定的基础镜像为openjdk:17-jdk-alpine
  2. MAINTAINER:项目维护人员
  3. RUN:执行命令,在根目录下创建/workspace/java/demo目录
  4. COPY:将宿主机当前目录下的demo.jar文件拷贝到app目录下,并重命名为demo.jar
  5. ENTRYPOINT:指定容器启动程序及参数
  6. CMD: 提供的参数将会被附加到 ENTRYPOINT 命令之后,作为额外的参数传递给 java 命令。如果没有 CMD 指令,或者在运行容器时没有提供任何参数,那么只有 ENTRYPOINT 定义的命令会被执行。
  7. EXPOSE:指定运行时容器提供服务的端口
  8. -Djava.security.egd=file:/dev/./urandom : 这是一个系统属性设置,-D 表示设置一个系统属性。java.security.egd 是用于指定随机数生成器的系统属性。file:/dev/./urandom 指定了使用 /dev/urandom 作为随机数生成器的源,这通常用于提高性能,因为 /dev/urandom 在生成随机数时不会阻塞。

在demo夹下面放入demo.jar

demo.jar和Dockerfile在一个目录下面

执行镜像构建命令

bash 复制代码
docker build -t demo:v1 .

查看本地镜像

bash 复制代码
docker images

运行容器

bash 复制代码
docker run -p 8899:8122 demo:v1

浏览器访问

IP:8899/doc.html#/home


下面是最近更新的文章:

【docker 】 安装docker(centOS7)-CSDN博客

【docker】常用命令-CSDN博客

【docker】centos7配置docker镜像加速_docker仓库加速地址-CSDN博客

【docker】Hello World-CSDN博客

【docker 】Compose 使用介绍_docker compose 使用-CSDN博客

【docker 】Compose安装-CSDN博客

【docker 】Dockerfile指令学习-CSDN博客

【docker】网络使用和配置_docker 启动使用host mode-CSDN博客

【docker】数据管理-CSDN博客

【docker】安装openjdk-CSDN博客

【docker】Spring Boot3.x 打包 Docker容器-CSDN博客

【docker】docker compose 搭建私服-CSDN博客

【docker】开放Docker端口-CSDN博客

【docker】maven 打包docker的插件学习-CSDN博客

【docker 】Windows10安装Docker Desktop - WSL update failed-CSDN博客




相关推荐
D2aZXN3FhrDa7e2123 小时前
佛山乐从低预算实体店如何选择?看美诚AI自动化获客方案
运维·人工智能·自动化·佛山美诚科技有限公司
BullSmall3 小时前
Sonarqube9.9 docker 镜像启动后 conf 下的配置文件没有了
docker·容器·eureka
无足鸟ICT3 小时前
【RHCA+】查看变量
linux·运维·服务器
ruofu333 小时前
wsl端是py312,但是项目是py311, 如何下载py311的依赖包(wheels)
python·docker
Kina_C3 小时前
Linux DNS 服务器-从高速缓存到辅助 DNS 部署指南
linux·运维·服务器·dns
suaizai_4 小时前
TypeScript 7 正式发布!Vue 暂被 “拒之门外“ !!!
linux·运维·ubuntu
spider_xcxc4 小时前
Docker 实战:容器化多服务应用,Dockerfile 与 Compose 配置全解析
docker·云原生·eureka·虚拟化·容器化
慕伏白5 小时前
【慕伏白】Linux 系统如何根据端口号关闭进程
linux·运维·服务器
letisgo55 小时前
VMware Workstation + Ubuntu 26.04 LTS 小白运维部署手册
linux·运维·ubuntu
hay_lee5 小时前
Kubernetes StatefulSet:OrderedReady 极简指南
云原生·容器·kubernetes