欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker中時(shí)區(qū)問題的處理方法

 更新時(shí)間:2019年09月22日 11:13:53   作者:云平臺運(yùn)維開發(fā)  
這篇文章主要給大家介紹了關(guān)于docker中時(shí)區(qū)問題的處理方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用docker具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

背景

這兩天在打docker的時(shí)候,發(fā)現(xiàn)自己的容器啟動之后,里面date -R的輸出時(shí)區(qū)是UTC,總是和北京時(shí)間差了8個(gè)小時(shí).


標(biāo)準(zhǔn)鏡像


時(shí)區(qū)是UTC

查看/etc/localtime,發(fā)現(xiàn)默認(rèn)指向的是Etc/UTC時(shí)區(qū).而且TZ環(huán)境變量也沒有被設(shè)置.


linux中的時(shí)區(qū)問題到底是怎么處理的

實(shí)際上,我們所有關(guān)于時(shí)區(qū)處理的問題都是glibc中處理時(shí)區(qū)的問題. 這個(gè)問題最權(quán)威的文檔就是glibc的官方文檔,里面關(guān)于TZ環(huán)境變量的描述介紹了時(shí)區(qū)問題的處理.

https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html#TZ-Variable

其中和我們相關(guān)的部分如下.

核心意思如下: 在glibc中,TZ環(huán)境變量的值是一個(gè)文件的名字,這個(gè)文件的內(nèi)容描述了時(shí)區(qū)相關(guān)的信息.

如果TZ這個(gè)環(huán)境變量沒有設(shè)置,那么系統(tǒng)會選擇一個(gè)默認(rèn)值,在glibc中,其默認(rèn)值為/etc/localtime. 如果TZ環(huán)境變量有值,并且這個(gè)值是以/開頭的,那么是一個(gè)絕對路徑的文件名,否則文件名為/usr/share/zoneinfo/$TZ. /usr/share/zoneinfo目錄下面有世界各地的本地時(shí)間信息,比如Asia/Shanghai.一般這個(gè)目錄下面的文件是被tzdata這個(gè)包安裝的.

按照這個(gè)思路,我們強(qiáng)制指定TZ環(huán)境變量為Asia/Shanghai,時(shí)區(qū)正確


強(qiáng)制修改/etc/localtime文件,時(shí)區(qū)也正確.

docker容器處理時(shí)區(qū)的方法

根據(jù)上面的描述,在docker容器中設(shè)置時(shí)區(qū)其實(shí)有兩個(gè)主要的方法. 一個(gè)是直接進(jìn)行TZ環(huán)境變量設(shè)置,另一個(gè)是不設(shè)置TZ環(huán)境變量,直接修改/etc/localtime的內(nèi)容(通過軟鏈接或者文件直接復(fù)制都可以)

這里以設(shè)置TZ環(huán)境變量為例(我自己比較喜歡這樣做,感覺比修改/etc/localtime更方便).

首先,我們可以在Dockerfile里面添加ENV TZ=Asia/Shanghai,這樣docker build出來的鏡像默認(rèn)TZ環(huán)境變量就是我們要的值了.


其次,我們也可以在容器拉起的時(shí)候使用-e TZ=Asia/Shanghai進(jìn)行TZ環(huán)境變量設(shè)置,這個(gè)設(shè)置就是動態(tài)的,同一個(gè)鏡像我們可以在拉起的時(shí)候設(shè)置不同的值.


總結(jié)

docker中的時(shí)區(qū)處理實(shí)際上就是glibc中的時(shí)區(qū)處理,了解了glibc中對事情的處理方法,核心是TZ環(huán)境變量和/etc/localtime文件,docker中的時(shí)期問題處理就簡單了.

相關(guān)文章

  • Docker和宿主機(jī)之間如何共享文件

    Docker和宿主機(jī)之間如何共享文件

    這篇文章主要介紹了Docker和宿主機(jī)之間如何共享文件問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • ubuntu如何完全干凈的卸載docker

    ubuntu如何完全干凈的卸載docker

    這篇文章主要介紹了ubuntu如何完全干凈的卸載docker問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Docker stop停止/remove刪除所有容器

    Docker stop停止/remove刪除所有容器

    這篇文章主要介紹了Docker stop停止/remove刪除所有容器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Docker安裝Jenkins全過程

    Docker安裝Jenkins全過程

    這篇文章主要介紹了Docker安裝Jenkins全過程,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Docker安裝MySql8并遠(yuǎn)程訪問的實(shí)現(xiàn)

    Docker安裝MySql8并遠(yuǎn)程訪問的實(shí)現(xiàn)

    本文主要介紹了Docker安裝MySql8并遠(yuǎn)程訪問的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • docker打包golang應(yīng)用的過程分析

    docker打包golang應(yīng)用的過程分析

    這篇文章主要介紹了docker打包golang應(yīng)用的過程分析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • docker pure-ftp 搭建ftp服務(wù)器的方法

    docker pure-ftp 搭建ftp服務(wù)器的方法

    本篇文章主要介紹了docker pure-ftp 搭建ftp服務(wù)器的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • 如何使用Docker定時(shí)備份數(shù)據(jù)

    如何使用Docker定時(shí)備份數(shù)據(jù)

    這篇文章主要介紹了如何使用Docker定時(shí)備份數(shù)據(jù),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-04-04
  • Docker數(shù)據(jù)存儲總結(jié)

    Docker數(shù)據(jù)存儲總結(jié)

    今天小編就為大家分享一篇關(guān)于Docker數(shù)據(jù)存儲總結(jié),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Docker教程之Ubuntu 安裝 Docker詳細(xì)介紹

    Docker教程之Ubuntu 安裝 Docker詳細(xì)介紹

    這篇文章主要介紹了Docker教程之Ubuntu 安裝 Docker詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-12-12

最新評論