本文最后更新于 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