最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解如何在golang鏡像中設(shè)置指定時(shí)區(qū)

 更新時(shí)間:2023年04月26日 11:24:07   作者:中等生  
這篇文章主要為大家詳細(xì)介紹了如何在golang鏡像中設(shè)置指定時(shí)區(qū),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的可以了解一下

我們在構(gòu)建鏡像的時(shí)候,經(jīng)常會(huì)使用alphine作為基礎(chǔ)鏡像,或者就直接從scratch構(gòu)建了;這樣構(gòu)建之后的鏡像非常的小,傳輸也更加的快

但是這種鏡像也會(huì)有一個(gè)問題,就是只能使用UTC時(shí)區(qū),不能加載別的時(shí)區(qū),因?yàn)殓R像中沒有包含時(shí)區(qū)文件;雖然UTC時(shí)區(qū)也很好用,但是有時(shí)候在處理一些定時(shí)任務(wù),或者是打印日志時(shí),還是希望能夠使用Local Time

為了解決這個(gè)問題,我們需要更改鏡像文件,將時(shí)區(qū)文件包含進(jìn)去,然后使用ENV設(shè)置本地時(shí)區(qū);

添加時(shí)區(qū)文件

在Go語言中,時(shí)區(qū)信息通常從操作系統(tǒng)環(huán)境變量中讀取。具體來說,它使用了名為TZ的環(huán)境變量。如果未設(shè)置該變量,則使用操作系統(tǒng)的默認(rèn)時(shí)區(qū)

首先,我們需要知道的是確定golang會(huì)從哪些路徑中讀取時(shí)區(qū)文件,默認(rèn)情況下,golang會(huì)從如下的路徑中讀取時(shí)區(qū)文件:

/usr/share/zoneinfo/
/usr/share/lib/zoneinfo/
/usr/lib/locale/TZ/

當(dāng)然,也可以通過ENV ZONEINFO指定一個(gè)時(shí)區(qū)文件;那我們?nèi)绾螌r(shí)區(qū)文件放入到這些目錄下面呢

大部分時(shí)候,我們都可以從基礎(chǔ)鏡像中找到時(shí)區(qū)文件,然后將其添加到最終鏡像中就可以了;但是,有時(shí)候我們會(huì)使用golang:alphine鏡像,這種鏡像本身并不包含時(shí)區(qū)文件,所以我們需要使用命令進(jìn)行添加時(shí)區(qū)文件了,如下:

FROM golang:alpine as build
RUN apk --no-cache add tzdata
WORKDIR /app
ADD . .
RUN CGO_ENABLED=0 GOOS=linux go build -o myapp
?
FROM scratch as final
COPY --from=build /app/myapp .
COPY --from=build /usr/share/zoneinfo /usr/share/zoneinfo
ENV TZ=Asian/Shanghai
CMD ["/myapp"]

我們通過命令RUN apk --no-cache add tzdata添加時(shí)區(qū)文件,然后將其添加到最終鏡像中,最后通過ENV TZ指定當(dāng)前時(shí)區(qū),這樣問題就解決了

但是,有時(shí)候公司的防火墻可能會(huì)屏蔽掉這些源,這樣執(zhí)行RUN apk --no-cache add tzadd時(shí)就會(huì)拉取不下來,那此時(shí)就需要其他的辦法找到時(shí)區(qū)文件了

幸運(yùn)的是在golang的庫中是包含時(shí)區(qū)文件的,位置在的$GOROOT/lib/time/zoneinfo.zip,那么就可以直接將這個(gè)時(shí)區(qū)文件復(fù)制到image當(dāng)中了,如下:

FROM golang:alpine as build
WORKDIR /app
ADD . .
RUN CGO_ENABLED=0 GOOS=linux go build -o myapp
?
FROM scratch as final
COPY --from=build /app/myapp .
COPY --from=build /usr/local/go/lib/time/zoneinfo.zip /
ENV TZ=Asian/Shanghai
ENV ZONEINFO=/zoneinfo.zip
CMD ["/myapp"]

在該dockerfile中,我們使用ENV ZONEINFO告訴golang從哪取獲取時(shí)區(qū)文件,然后使用ENV TZ指定當(dāng)前的時(shí)區(qū),這樣就能夠保證鏡像能夠讀取到正確的時(shí)區(qū)文件了

到此這篇關(guān)于詳解如何在golang鏡像中設(shè)置指定時(shí)區(qū)的文章就介紹到這了,更多相關(guān)golang鏡像設(shè)置指定時(shí)區(qū)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談golang的http cookie用法

    淺談golang的http cookie用法

    本篇文章主要介紹了golang的http cookie用法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-01
  • golang中使用mongo的方法介紹

    golang中使用mongo的方法介紹

    這篇文章主要給大家介紹了關(guān)于golang中使用mongo的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • Golang?使用os?庫的?ReadFile()?讀文件最佳實(shí)踐

    Golang?使用os?庫的?ReadFile()?讀文件最佳實(shí)踐

    這篇文章主要介紹了Golang使用os庫的ReadFile()讀文件最佳實(shí)踐,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Go語言通過WaitGroup實(shí)現(xiàn)控制并發(fā)的示例詳解

    Go語言通過WaitGroup實(shí)現(xiàn)控制并發(fā)的示例詳解

    Channel能夠很好的幫助我們控制并發(fā),但是在開發(fā)習(xí)慣上與顯示的表達(dá)不太相同,所以在Go語言中可以利用sync包中的WaitGroup實(shí)現(xiàn)并發(fā)控制,本文就來和大家詳細(xì)聊聊WaitGroup如何實(shí)現(xiàn)控制并發(fā)
    2023-01-01
  • 實(shí)現(xiàn)像php一樣方便的go ORM數(shù)據(jù)庫操作示例詳解

    實(shí)現(xiàn)像php一樣方便的go ORM數(shù)據(jù)庫操作示例詳解

    這篇文章主要為大家介紹了實(shí)現(xiàn)像php一樣方便的go ORM數(shù)據(jù)庫操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Golang slice切片操作之切片的追加、刪除、插入等

    Golang slice切片操作之切片的追加、刪除、插入等

    這篇文章主要介紹了Golang slice切片操作之切片的追加、刪除、插入等,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • Go 第三方庫之類型轉(zhuǎn)換問題

    Go 第三方庫之類型轉(zhuǎn)換問題

    今天給大家介紹一個(gè)第三方庫,專門處理類型轉(zhuǎn)換的問題。對(duì)Go 第三方庫之類型轉(zhuǎn)換問題感興趣的朋友跟隨小編一起看看吧
    2021-08-08
  • Go語言web快速開發(fā)框架Gin的HttpRouter路由的使用

    Go語言web快速開發(fā)框架Gin的HttpRouter路由的使用

    in框架內(nèi)部使用了高性能的路由器庫httprouter,支持動(dòng)態(tài)參數(shù)匹配和簡潔的接口,本文主要介紹了Go語言web快速開發(fā)框架Gin的HttpRouter路由的使用,感興趣的可以了解一下
    2025-03-03
  • 一文詳解Golang中new和make的區(qū)別

    一文詳解Golang中new和make的區(qū)別

    在Go語言中,new和make是兩個(gè)用于創(chuàng)建對(duì)象的內(nèi)建函數(shù)。本文將詳細(xì)介紹new和make的區(qū)別,并通過多個(gè)方面的分析和代碼示例,幫助大家理解它們的使用場景
    2023-05-05
  • go的切片擴(kuò)容機(jī)制詳解

    go的切片擴(kuò)容機(jī)制詳解

    本文主要介紹了go的切片擴(kuò)容機(jī)制詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評(píng)論

上蔡县| 安塞县| 阿拉善左旗| 柳林县| 抚远县| 铁力市| 彩票| 六枝特区| 郧西县| 澎湖县| 金昌市| 城口县| 浙江省| 花莲市| 莒南县| 阿巴嘎旗| 杂多县| 冷水江市| 呼和浩特市| 台中市| 桂阳县| 西青区| 铜鼓县| 岫岩| 闸北区| 玉树县| 偏关县| 蒙山县| 平遥县| 高淳县| 镇康县| 永新县| 玛沁县| 裕民县| 唐山市| 宣恩县| 江口县| 崇文区| 武川县| 介休市| 泊头市|