firewall-cmd --zone=public --add-port=8888/tcp --permanent && firewall-cmd --reload
docker run -di --name app-separate --restart=unless-stopped -p 8888:8888 -v /application/app:/app -v /application/upFiles:/opt/upFiles kuluseky/app-separate:jdk8x86
# Spring Boot容器打包 Dockerfile
# 防火墙:firewall-cmd --zone=public --add-port=8888/tcp --permanent && firewall-cmd --reload
# 构建容器:docker build -t app-separate -f Dockerfile_Separate .; docker save -o ./app-separate app-separate
# 第一次载入镜像:docker load -i app-separate
# 启动:docker run -di --name app-container --restart=unless-stopped -p 9999:8888 -v /application/app:/app -v /application/upFiles:/opt/upFiles app-separate
# FROM java:8u111
FROM anapsix/alpine-java:8_server-jre_unlimited
WORKDIR /
# 时区
# RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && dpkg-reconfigure -f noninteractive tzdata
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 文件目录
RUN mkdir -p /opt/upFiles && mkdir -p /opt/webapp
# 字体(解决流程图部署乱码,请设置好字体目录位置)
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk update && apk --no-cache --purge -U upgrade
RUN apk add --no-cache --purge -uU ttf-dejavu fontconfig && rm -rf /var/cache/apk/* && mkdir -p /usr/share/fonts/new/
# 字体直接打入包中
COPY fonts/*.ttf /usr/share/fonts/new/
RUN fc-cache
# 或者字体挂载出来
# VOLUME /usr/share/fonts/new/
# 设置字符集(防止应用日志乱码)
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
# 应用目录
ENV APP /app
# 应用入口
ENV APP_NAME=main.jar
# 依赖文件夹,设置为空时,不以配置分离式启动
ENV APP_LIB_PATH=lib APP_CONFIG_PATH=config
# 配置启用配置文件
ENV APP_PROFILE_ACTIVE=prod APP_PORT=8888
# 特殊JVM参数
ENV APP_JVM_OPTION="-Djava.security.egd=file:/dev/./urandom -Xms2048m -Xmx2048m"
# 暴露端口
EXPOSE $APP_PORT/tcp
# 应用-入口文件夹(必须)
VOLUME $APP
# 应用-本地文件上传目录(建议)
VOLUME /opt/upFiles
# 应用-本地webapp目录(可选)
# VOLUME /opt/webapp
CMD echo "环境变量: ${PATH}" \
&& echo "中文字体:" && fc-list :lang=zh \
&& echo "启动app: $APP" && cd $APP && ls . -al \
&& if [ -n "$APP_LIB_PATH" ] && [ -n "$APP_CONFIG_PATH" ]; then \
java $APP_JVM_OPTION \
-Dloader.path=$APP_LIB_PATH,$APP_CONFIG_PATH \
-Dspring.profiles.active=$APP_PROFILE_ACTIVE \
-Dserver.port=$APP_PORT \
-jar $APP_NAME; \
else \
java $APP_JVM_OPTION \
-Dspring.profiles.active=$APP_PROFILE_ACTIVE \
-Dserver.port=$APP_PORT \
-jar $APP_NAME; \
fi
Content type
Image
Digest
sha256:1ecf5f1da…
Size
69.8 MB
Last updated
almost 2 years ago
docker pull kuluseky/app-separate:jdk8x86_zh_font