2 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
您正在使用CGO_ENABLED=1
(這是 Go 的默認(rèn)構(gòu)建設(shè)置)構(gòu)建您的應(yīng)用程序 - 并將該可執(zhí)行文件移植到?jīng)]有兼容庫支持(glibc
、dns
解析器等)的 docker 映像。
為了確保您的構(gòu)建不依賴任何外部庫 - 靜態(tài)綁定所有依賴項(xiàng) - 然后可以部署到SCRATCH
docker 映像或-在構(gòu)建階段busybox
禁用:CGO
RUN CGO_ENABLED=0 go build -o goapp .

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊
我猜這兩個(gè)圖像的 libc 之間存在差異。在busybox圖片的描述中介紹過,有好幾種libc variants
,用圖片標(biāo)簽來區(qū)分。
的 libcgolang:1.15.3
是 glibc (它是FROM
對應(yīng)的版本debian:buster
),所以你應(yīng)該busybox:glibc
在你的最后階段使用。
默認(rèn)busybox:latest
使用uclibc
. 它們是不相容的。檢查 和 的 sha256busybox:latest
摘要busybox:uclibc
。
- 2 回答
- 0 關(guān)注
- 187 瀏覽
添加回答
舉報(bào)