首页 Dockerfile
文章
取消

Dockerfile

通过 SpringBoot 官网建议,以及项目经验,总结出的一版 Dockerfile 文档模版。

1. 构建

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 我们一般使用 alpine 的JDK,以此减小镜像的体积
FROM openjdk:8-jdk-alpine
LABEL maintainer="Oriental Ming"

# SpringBoot 官方推荐,最小权限原则,考虑到安全
ARG USERNAME=spring
ARG JAR_FILE=target/*.jar

RUN addgroup -S ${USERNAME} \
    && adduser -S ${USERNAME} -G ${USERNAME} \
    && ln -sf /usr /share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone

USER ${USERNAME}:${USERNAME}
# 也是 jar 运行的日志文件保存目录
WORKDIR /home/${USERNAME}

# 指定内存,并增强随机数获取逻辑
ENV JAVA_OPTS="-Xms100m -Xmx100m -Djava.security.egd=file:/dev/./urandom"

COPY ${JAR_FILE} app.jar

EXPOSE 8080
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -jar /app.jar ${0} ${@}"]

docker run 的运行示例:

1
2
3
4
# 可以指定服务的端口号
docker run -p 9000:9000 myorg/myapp --server.port=9000
# 可以自定义 JVM 的配置信息
docker run -p 8080:8080 -e "JAVA_OPTS=-Ddebug -Xmx128m" myorg/myapp

2. IDEA 配置

2.1 链接远程服务器

远程服务器连接

2.2 配置 Dockerfile

配置


完结撒花 😂 ! 制作不易,如引用原文,必须附此原文链接,否则违者必究!😈


本文由作者按照 CC BY 4.0 进行授权