docker容器部署jar包
两种方式
- 方式一:先将jar包构建成镜像,然后启动容器
- 方式二:直接将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
对外暴露端口15300RUN
执行一条命令- 这里执行这条命令是为了解决容器内时间与宿主机不一致问题,启动时要配合映射宿主机的文件
-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