摘要:前幾天用部署,在服務將數據寫入時,發現時間相差了個小時,隨后在網上查找解決辦法。據了解是因為有些容器里沒有目錄。
前幾天用docker部署mysql,在web服務將數據寫入mysql時,發現時間相差了8個小時,隨后在網上查找解決辦法。
若用docker run 命令來運行docker的話,可以直接通過-v,將宿主機的時間與本地時間綁定到容器中,這樣時間就會跟宿主機一樣,例子:
docker run -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -ti nginx bash
然后運行date,查看docker的時間;
也可以通過定義Dockerfile的ENV,設置TZ為Asia/shanghai,代碼塊如下:
RUN apk add --no-cache tzdata ENV TZ=Asia/Shanghai
另外docker-compose.yml文件來定義的話,跟Dockerfile是一樣,在environment添加,代碼塊如下:
environment: TZ: Asia/Shanghai
其中tzdata這個依賴是必須的,沒有這個,即使設置了ENV TZ=Asia/Shanghai,有些鏡像的時間也不會變為北京時間,我用golang官方的鏡像來構建時就遇到這個問題。據了解是因為有些容器里沒有/usr/share/zoneinfo目錄。
參考:
https://github.com/gliderlabs...
https://stackoverflow.com/que...
https://blog.csdn.net/dounine...
https://www.cnblogs.com/linux...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27729.html
摘要:不廢話,繼續看以下命令這里配置的環境變量就是我所需要的時區通過這樣的啟動方式,就是了。當然聰明人肯定不會自己每次都在啟動的時候加這些配置,當然在基礎鏡像里面搞好咯。 利用docker來部署服務,經常遇到的一個問題是如何解決容器內的時區問題. 假設現在啟動的鏡像是tomcat:8.0.35-jre8 /*直接用宿主機器上的時區默認覆蓋容器內的時區配置文件即可,也就是跟宿主機器同樣的時區配...
摘要:不廢話,繼續看以下命令這里配置的環境變量就是我所需要的時區通過這樣的啟動方式,就是了。當然聰明人肯定不會自己每次都在啟動的時候加這些配置,當然在基礎鏡像里面搞好咯。 利用docker來部署服務,經常遇到的一個問題是如何解決容器內的時區問題. 假設現在啟動的鏡像是tomcat:8.0.35-jre8 /*直接用宿主機器上的時區默認覆蓋容器內的時區配置文件即可,也就是跟宿主機器同樣的時區配...
摘要:在使用的時候,由于很多基礎鏡像都比較大,這個僅僅幾兆的基礎鏡像受到了很多人喜歡,筆者也不例外,可是由于中的一些配置及命令與常見的等系統在一些方面不一樣,下面來看看時區問題是如何解決的原因中,原生是不帶時區相關的命令及文件的,需要安裝額外的包 在使用docker的時候,由于很多基礎linux鏡像都比較大,alpine這個僅僅幾兆的linux基礎鏡像受到了很多人喜歡,筆者也不例外,可是由...
閱讀 4122·2022-09-16 13:49
閱讀 1398·2021-11-22 15:12
閱讀 1519·2021-09-09 09:33
閱讀 1039·2019-08-30 13:15
閱讀 1720·2019-08-29 15:30
閱讀 654·2019-08-27 10:52
閱讀 2643·2019-08-26 17:41
閱讀 1896·2019-08-26 12:11