第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何運(yùn)行使用 go binary 創(chuàng)建的 docker 容器?

如何運(yùn)行使用 go binary 創(chuàng)建的 docker 容器?

Go
吃雞游戲 2023-06-19 15:22:08
我正在嘗試使用 Dockerfile 和 go file 二進(jìn)制文件創(chuàng)建一個(gè) docker 容器。我的文件夾中有兩個(gè)文件:Dockerfile和main,其中后者是我的簡單 go 文件的二進(jìn)制文件。Dockerfile 的內(nèi)容:FROM golang:1.11-alpineWORKDIR /appCOPY main /app/RUN ["chmod", "+x", "/app/main"]ENTRYPOINT ["./main"]我嘗試了以下步驟:sudo docker build -t naive5cr 。sudo docker run -d -p 8080:8080 naive5cr我通過“docker logs”看到的錯(cuò)誤:standard_init_linux.go:207: exec 用戶進(jìn)程導(dǎo)致“沒有這樣的文件或目錄”我的go文件內(nèi)容[我認(rèn)為這與問題無關(guān)]:func main() {    http.HandleFunc("/", index)    http.ListenAndServe(port(), nil)}func port() string {    port := os.Getenv("PORT")    if len(port) == 0 {        port = "8080"    }    return ":" + port } 二進(jìn)制“main”在獨(dú)立運(yùn)行時(shí)按預(yù)期運(yùn)行。所以go文件的內(nèi)容是沒有問題的。
查看完整描述

2 回答

?
胡說叔叔

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊

CGO_ENABLED=0當(dāng)在 Go 中使用網(wǎng)絡(luò)時(shí),您需要編譯以防止在 Linux 上鏈接到 libc。Alpine 附帶 musl 而不是 libc,并且嘗試查找 libc 會(huì)導(dǎo)致沒有這樣的文件或目錄錯(cuò)誤。您可以通過運(yùn)行ldd main查看動(dòng)態(tài)鏈接來驗(yàn)證這一點(diǎn)。

您還可以在基于 Alpine 的主機(jī)上構(gòu)建以鏈接到 musl 而不是 libc。完全靜態(tài)編譯的二進(jìn)制文件的優(yōu)點(diǎn)是能夠從頭開始運(yùn)行,根本不需要任何庫。


查看完整回答
反對 回復(fù) 2023-06-19
?
慕田峪9158850

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

go 編譯為本機(jī)代碼,因此請確保在 Docker 映像上構(gòu)建您的 go 代碼,而不是將二進(jìn)制文件復(fù)制到 docker 映像。


例如


FROM golang:1.11-alpine

WORKDIR /app

ADD . /app

RUN cd /app && go build -o goapp

ENTRYPOINT ./goapp

另外作為獎(jiǎng)勵(lì),這里是如何使用多階段 Docker 構(gòu)建創(chuàng)建非常小的 Docker 鏡像:


FROM golang:1.11-alpine AS build-env

ADD . /src

RUN cd /src && go build -o goapp


FROM alpine

WORKDIR /app

COPY --from=build-env /src/goapp /app/

ENTRYPOINT ./goapp


查看完整回答
反對 回復(fù) 2023-06-19
  • 2 回答
  • 0 關(guān)注
  • 160 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)