jar包运行在docker 容器内简单示例

  • 获取基础镜像
    docker pull openjdk:8
  • 编写Dockerfile
    Dockerfile详解
    示例
# 基于 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
posted @ 2022-02-26 14:21  故木  阅读(220)  评论(0编辑  收藏  举报