# 使用基础的 Java 11 镜像
FROM adoptopenjdk:11-jdk-hotspot
# 设置工作目录
WORKDIR /app
# 将应用程序的 JAR 文件复制到容器中
COPY target/MyApp.jar /app/MyApp.jar
# 创建日志目录
RUN mkdir /var/log/myapp
# 设置环境变量
ENV APP_NAME "MyApp"
ENV APP_VERSION "1.0.0"
# 暴露端口
EXPOSE 8080
# 设置容器的默认命令
CMD ["java", "-jar", "-Dspring.profiles.active=production", "MyApp.jar"]
你可以根据自己的实际情况修改上述示例中的文件名、目录、依赖、环境变量和命令。然后,使用以下命令在同一目录下构建Docker镜像:
docker build -t my-java-app .
最后,可以使用以下命令在Docker容器中运行你的Java应用程序,并将日志文件挂载到主机上:
docker run -p 8080:8080 -v /var/log/myapp:/app/logs my-java-app
在上面的命令中,我们使用 -v 参数将主机的 /var/log/myapp 目录挂载到容器的 /app/logs 目录。这样,容器中产生的日志文件就会被持久化到主机上的 /var/log/myapp 目录中。