golang程序使用alpine編譯出最小arm鏡像實現(xiàn)
golang程序使用alpine編譯出最小arm鏡像
基礎(chǔ)鏡像準備
如果想要打arm架構(gòu)的鏡像就在arm的機器上執(zhí)行,如果想打amd的鏡像就在amd機器上執(zhí)行, 會自己根據(jù)機器的架構(gòu)來下載基礎(chǔ)鏡像。
這里我以arm架構(gòu)的機器為例
查看Dockerfile
FROM alpine:latest # 設(shè)置時區(qū)為上海 RUN apk add tzdata &&cp /usr/share/zoneinfo/Asia/Shanghai/etc/localtime \ &&echo "Asia/Shanghai">/etc/timezone \ &&apk del tzdata
編譯鏡像命令,把它做為基礎(chǔ)鏡像 docker build -t 192.168.1.187/library/alpine-arm64-go:v1.0 .
golang程序編譯鏡像
編譯Dockerfile如下
FROM 192.168.1.187/library/alpine-arm64-go:v1.0 COPY analysis /opt/analysis RUN chmod +x /opt/analysis ENTRYPOINT ./opt/analysis -MQTT_IP $MQTT_IP -MQTT_PORT $MQTT_PORT -MQTT_USERNAME $MQTT_USERNAME -MQTT_PASSWORD $MQTT_PASSWORD
編譯命令 docker build -t 192.168.1.187/library/arm64-analysis:v1.0 .
運行
在前面的Dockerfile中,我們加入的環(huán)境變量,啟動的時候需要設(shè)置環(huán)境變量啟動
docker run -d --name analysis --restart=always -e MQTT_IP=192.168.1.188 -e MQTT_PORT=1883 -e MQTT_USERNAME=admin -e MQTT_PASSWORD=liang_2023 192.168.1.187/library/arm64-analysis:v1.0
以上就是golang程序使用alpine編譯出最小arm鏡像實現(xiàn)的詳細內(nèi)容,更多關(guān)于go alpine編譯arm鏡像的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Go內(nèi)存節(jié)省技巧簡單實現(xiàn)方法
這篇文章主要為大家介紹了Go內(nèi)存節(jié)省技巧簡單實現(xiàn)方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01Golang?中的json.Marshal問題總結(jié)(推薦)
這篇文章主要介紹了Golang中的json.Marshal問題總結(jié),本文通過一個例子給大家詳細講解,本次提出的問題中,我們不難注意到其中的time.Time是一個匿名(Anonymous)字段,而這個就是答案的由來,需要的朋友可以參考下2022-06-06使用Go語言創(chuàng)建error的幾種方式小結(jié)
Go語言函數(shù)(或方法)是支持多個返回值的,因此在Go語言的編程哲學中,函數(shù)的返回值的最后一個通常都是error類型,所以本文給大家介紹了使用Go語言創(chuàng)建error的幾種方式小結(jié),文中通過代碼示例講解的非常詳細,需要的朋友可以參考下2024-01-01一文帶你了解Go語言實現(xiàn)的并發(fā)神庫conc
前幾天逛github發(fā)現(xiàn)了一個有趣的并發(fā)庫-conc,這篇文章將為大家詳細介紹一下這個庫的實現(xiàn),文中的示例代碼講解詳細,感興趣的可以了解一下2023-01-01詳解golang執(zhí)行Linux shell命令完整場景下的使用方法
本文主要介紹了golang執(zhí)行Linux shell命令完整場景下的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06