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
- FROM:指定基础镜像,项目是使用jdk17开发的项目,所以我们指定的基础镜像为openjdk:17-jdk-alpine
- MAINTAINER:项目维护人员
- RUN:执行命令,在根目录下创建/workspace/java/demo目录
- COPY:将宿主机当前目录下的demo.jar文件拷贝到app目录下,并重命名为demo.jar
- ENTRYPOINT:指定容器启动程序及参数
- CMD: 提供的参数将会被附加到 ENTRYPOINT 命令之后,作为额外的参数传递给 java 命令。如果没有 CMD 指令,或者在运行容器时没有提供任何参数,那么只有 ENTRYPOINT 定义的命令会被执行。
- EXPOSE:指定运行时容器提供服务的端口
- -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】centos7配置docker镜像加速_docker仓库加速地址-CSDN博客
【docker 】Compose 使用介绍_docker compose 使用-CSDN博客
【docker 】Dockerfile指令学习-CSDN博客
【docker】网络使用和配置_docker 启动使用host mode-CSDN博客
【docker】Spring Boot3.x 打包 Docker容器-CSDN博客
【docker】docker compose 搭建私服-CSDN博客
【docker】maven 打包docker的插件学习-CSDN博客
【docker 】Windows10安装Docker Desktop - WSL update failed-CSDN博客