自定义构建Boot docker镜像
本文最后更新于 2025-02-03,文章内容可能已经过时。
1、java基础镜像收集
docker pull openjdk:11-jdk-slim
docker pull openjdk:17-jdk-slim
2、Dockerfile
# 使用官方的OpenJDK作为基础镜像
FROM openjdk:17-jdk-slim
# 添加维护者信息
LABEL maintainer="author-name66@gmail.com"
# 设置容器中的工作目录为 /app
# 所有后续操作(如文件复制、命令执行等)都会基于该目录进行
WORKDIR /app
# 将本地的 JAR 文件 复制到容器的 /app 目录下
# COPY 命令将指定路径的文件从构建上下文复制到镜像中的目标路径
COPY ./java-docker-demo-0.0.1-SNAPSHOT.jar /app/app.jar
# 添加JAR文件到容器中并重命名为app.jar
#ADD target/your-spring-boot-app.jar app.jar
# 暴露应用程序的端口(例如8080)
EXPOSE 8080
# 指定容器启动时执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/app.jar"]
#ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/app.jar","--#spring.profiles.active=dev", " --server.port=10001", ">", "/app/server.log"]
3、构建镜像
docker build -f Dockerfile -t demo-boot:v1.0.0 .
4、启动镜像
docker run -d --name demo-boot -p 8080:8080 -v /etc/localtime:/etc/localtime:ro -e TZ=Asia/Shanghai demo-boot:v1.0.0
5、docker-compose.yml
services:
boot-demo:
image: demo-boot:v1.0.0
environment:
TZ: Asia/Shanghai
volumes:
- ./logs:/app/logs
#- /etc/localtime:/etc/localtime:ro
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 软件从业者Hort
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果