docker部署jar 并解决日志时差问题

docker部署jar 并解决日志时差问题

新建Dockerfile,并将你的jar放置与Dockerfile同一级目录

vim Dockerfile

Dockerfile的内容为

FROM  java:8-alpine

ADD huakuEComSeller.jar  app.jar         
EXPOSE 8081
ENTRYPOINT  ["java","-jar","-Duser.timezone=GMT+8","app.jar"]   

#CMD ["bash","-c","java -jar app.jar"]

说明

  • FROM java:8-alpine:使用的是jdk1.8
  • ADD huakuEComSeller.jar app.huakuEComSeller.jar为jar的名字,需改成你自己jar的名字
  • EXPOSE 8081:端口号
  • ENTRYPOINT [“java”,"-jar","-Duser.timezone=GMT+8",“app.jar”] :"-Duser.timezone=GMT+8"为处理时差问题,踩过坑的朋友应该知道,docker容器的时间是UTC(Coordinated Universal Time,标准时间) 时区,这会导致日志打印时间会有8个小时时差,所以在制作镜像时候,运行jar时指定上时区参数,以便日志中能够正确读取到指定时区的时间。中国采用东八区的时区,所以是GMT+8

新建log目录,用于挂载日志

mkdir log

开始制作镜像

sudo docker build -t huakuecomseller:v1 .
sudo docker run -d -v /home/mhyj_dev/huakuECom/Seller/log:/log/huakulog/seller -p 8081:8081 huakuecomseller:v1

说明

  • -v /home/mhyj_dev/huakuECom/Seller/log:/log/huakulog/seller:将镜像内/log/huakulog/seller目录的日志挂载到宿主机/home/mhyj_dev/huakuECom/Seller/log目录下
  • -p 8081:8081:端口映射,默认启动的是8081

部署完成

你可能感兴趣的:(docker)