我的目标是比较我的 golang 应用程序的两个 docker 解决方案:
我的 Dockerfile 非常简单,类似于:
FROM ubuntu:20.04
# FROM golang:alpine for alpine based images
# myApp binary is pre-built before running docker build
COPY bin/myApp app/myApp
COPY myApp-config.json app/myApp-config.json
CMD MYAPP_CONFIG=app/myApp-config.json ./app/myApp
Run Code Online (Sandbox Code Playgroud)
对于基于高山的图像,我在这里遇到了同样的问题,由于生成的图像中缺少 CGO 动态链接,因此 /app/myApp 无法启动。我通过在 go build 期间禁用 CGO 来解决这个问题:
CGO_ENABLED=0
Run Code Online (Sandbox Code Playgroud)
由于我对 docker 很陌生,所以我的问题是:
net/http似乎需要在运行时存在 CGO。谢谢!