需求背景

常规方式的部署jar包,是直接将jar包打入镜像,每次更新上线,都需要重新上传镜像,如果是没有外网的远程内部服务器,传输速度很满,因为镜像可能是几百M。

解决方案

我们只需要将java8镜像上传一次到服务器,后续只需要更新jar包即可。

目录结构
  • jar - 用于放打包好的jar
  • logs - 映射日志文件
  • docker-compose.yml

其中docker-compose.yml如下:

version: '3.0'

services:
  app:
    container_name: app
    restart: always
    image: java:8
    ports:
      - 8080:8080
    volumes:
      - ./jar/app.jar:/root/app.jar:z
      - ./logs/:/root/logs
    environment:
      - TZ=Asia/Shanghai
    entrypoint: java -jar -Dfile.encoding=utf-8 /root/app.jar
    privileged: true
基础镜像
# 下载镜像
$ docker pull java:8

# 导出镜像
$ docker save 镜像ID > xxx.tar

# 加载镜像
$ docker load -i xxx.tar
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐