# 基于 openjdk:8 镜像构建
FROM openjdk:8
# 设置工作目录
WORKDIR /usr/jar
# 环境变量,用于提供启动 jar 的 java 命令中间部分参数
ENV START_PARAM="-Xms512m -Xmx1024m -Duser.timezone=GMT+08"
ENV APP_PARAM=" -Dfile.encoding=UTF-8"
ENV APP_NAME=app
ENV APP_LOG_PATH=/opt
ENV PROFILES=pre
ENV eureka.client.service-url.defaultZone="http://172.18.2.32:8761/eureka"
# 应用启动命令,使用了环境变量 JAVA_OPTS 和容器创建时传入的 APP_NAME 值
CMD java ${START_PARAM} -jar ${APP_PARAM} /usr/jar/$APP_NAME.jar |grep -v kafka > $APP_LOG_PATH/$APP_NAME.log
- 制作镜像
将jar和Dockerfile至于和Dockerfile相符的相对路径下执行build命令
docker docker build -t jdk8-jar:1.0.0 .
- 运行镜像
按情况挂载物理机路径映射物理机端口
docker run -d -v /e/jdk8/:/usr/jar -e JAVA_OPTS="-Dfile.encoding=UTF-8 --server.port=8080 --project.home=/usr/" -e APP_NAME="nginxWebUI-3.6.8" -p 8080:8080 --name nginxJar jdk8-jar:1.0.0