docker容器部署jar包

docker容器部署jar包

两种方式

  1. 方式一:先将jar包构建成镜像,然后启动容器
  2. 方式二:直接将jar包挂载在容器中启动

方式一

  • 1、目录结构
    └─orion/
    	├─logs/
    	├─orion-release.jar
    	└─Dockerfile
    
  • 2、编写Dockerfile
    FROM java:8
    MAINTAINER zzzxydq
    ADD orion-release.jar app.jar
    EXPOSE 15300
    RUN echo "Asian/shanghai" > /etc/timezone
    ENTRYPOINT ["java","-jar","app.jar"]
    
    • FROM 拉取一个jdk为1.8的镜像
    • MAINTAINER 一般是作者信息、联系方式
    • ADD 将jar添加到镜像中
    • EXPOSE 对外暴露端口15300
    • RUN 执行一条命令
      • 这里执行这条命令是为了解决容器内时间与宿主机不一致问题,启动时要配合映射宿主机的文件-v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime:ro
    • ENTRYPOINT 容器启动执行的命令
  • 3、构建镜像,在Dockerfile所在目录中执行命令:docker build -t orion:v1.0.0 .,其中-t表示为镜像设置标签,.表示Dockerfile在当前目录
  • 4、镜像构建成功,就可以启动容器了
    docker run -p 15300:15300 --name orion \
    -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime:ro \
    -v ./orion/logs:/logs
    --restart always
    -d orion:v1.0.0 \
    --spring.profiles.active=release,native
    
  • 5、可以通过docker ps docker logs -f orion来查看是否启动成功和日志

方式二

  • 直接运行jdk8的容器,将jar包挂载到容器中的同时,启动jar即可
    docker run -p 15300:15300 --name orion \
    -v ./orion/orion-release.jar:/app.jar \
    -v ./orion/logs:/logs \
    --name orion \
    -d jdk8 \
    /usr/bin/java -jar app.jar -Duser.timezone=GMT+08 --spring.profiles.active=release,native
    
    • -Duser.timezone=GMT+08 设置时区
    • v ./orion/orion-release.jar:/app.jar 映射jar包
参考文章:

https://blog.csdn.net/weixin_42054155/article/details/90815393

你可能感兴趣的:(linux,docker,jar)