docker部署springboot項目啟動時間與宿主機相差8小時的解決
問題描述:
docker部署springboot項目時明明指定了鏡像和啟動容器的時區(qū),但是進入docker系統(tǒng)時間還是不對。
Dockerfile:
# 基礎鏡像 FROM openjdk:8 #申明一個環(huán)境變量 #ENV HOME_PATH /home #指定容器啟動時,執(zhí)行命令會在該目錄下執(zhí)行 #WORKDIR $HOME_PATH #應用構建成功后的jar復制到容器指定目錄下 ENV TZ="Asia/Shanghai" COPY . . ADD target/test.jar test.jar #容器啟動時執(zhí)行的命令 ENTRYPOINT ["java","-jar","-Xms512m","-Xmx512m","-Xss256k","test.jar"]
Docke-compose:
version: '3' services: test-service: # 指定容器名稱 container_name: test # 重啟機制 restart: always image: test:v2.0.3 volumes: # 掛載日志和時區(qū) - ./log:/log - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "39084:39084" environment: # 指定時區(qū) - TZ="Asia/Shanghai"
宿主機時間:
ubuntu@VM-0-12-ubuntu:$ date -R Mon, 28 Nov 2022 17:55:52 +0800
進入docker機器看時間
docker exec -it 容器名 date -R Mon, 28 Nov 2022 09:58:08 +0000
發(fā)現(xiàn)相差了8小時。
解決方法:
在啟動java 項目時加上-Duser.timezone=GMT+08參數(shù),指定時間。
具體Dockerfile
# 基礎鏡像 FROM openjdk:8 #申明一個環(huán)境變量 #ENV HOME_PATH /home #指定容器啟動時,執(zhí)行命令會在該目錄下執(zhí)行 #WORKDIR $HOME_PATH #應用構建成功后的jar復制到容器指定目錄下 ENV TZ="Asia/Shanghai" COPY . . ADD target/test.jar test.jar #容器啟動時執(zhí)行的命令 ENTRYPOINT ["java","-jar","-Xms512m","-Xmx512m","-Xss256k","-Duser.timezone=GMT+08","test.jar"]
docker logs -f 容器名 查看項目時間發(fā)現(xiàn)已經(jīng)正常。
2022-11-28 17:56:54.968 INFO 1 [http-nio-39084-exec-1]{magenta} --- [io-39084-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started 2022-11-28 17:56:54.987 INFO 1 [http-nio-39084-exec-1]{magenta} --- [io-39084-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 19 ms 2022-11-28 17:56:55.018 INFO 1 [http-nio-39084-exec-1]{magenta} --- [io-39084-exec-1] c.m.o.lims.service.filter.LoginFilter : --------------> request method : GET 2022-11-28 17:56:55.018 INFO 1 [http-nio-39084-exec-1]{magenta} --- [io-39084-exec-1] c.m.o.lims.service.filter.LoginFilter : --------------> request url : /api/cxmxv1/excel/downloadMasterExcel
到此這篇關于docker部署springboot項目啟動時間與宿主機相差8小時的解決的文章就介紹到這了,更多相關docker部署springboot差8小時內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- SpringBoot多模塊打包部署Docker的項目實戰(zhàn)
- 使用docker部署springboot項目到服務器的詳細過程
- dockerfile的使用及使用dockerfile部署springboot項目的過程
- Jenkins+Docker?一鍵自動化部署?SpringBoot?項目的詳細步驟
- Gitlab-runner+Docker實現(xiàn)自動部署SpringBoot項目
- 如何利用Docker部署一個簡單的springboot項目
- idea快速實現(xiàn)將SpringBoot項目打包Docker鏡像并部署
- Docker部署SpringBoot應用的實現(xiàn)步驟
- Docker compose部署SpringBoot項目連接MySQL及遇到的坑
- 基于SpringBoot項目實現(xiàn)Docker容器化部署的主要步驟
相關文章
docker搭建nginx實現(xiàn)負載均衡的示例代碼
本隨著互聯(lián)網(wǎng)應用規(guī)模不斷擴大,原有的單一服務器已經(jīng)無法滿足高并發(fā)和高可用性的要求,本文就來介紹docker搭建nginx實現(xiàn)負載均衡的示例代碼,感興趣的可以了解一下2023-12-12Skywalking?Docker單機環(huán)境搭建過程
這篇文章主要介紹了Skywalking?Docker單機環(huán)境搭建,本次搭建是基于MySQL進行持久化,因此需要提前準備好一個MySQL容器,需要的朋友可以參考下2024-02-02dockerfile的使用及使用dockerfile部署springboot項目的過程
Dockerfile是用來構建Docker鏡像的文本文件,是由一條條構建鏡像所需的指令和參數(shù)構成的腳本,這篇文章主要介紹了dockerfile的使用,使用dockerfile部署springboot項目,需要的朋友可以參考下2023-04-04