2 回答
TA貢獻(xiàn)1858條經(jīng)驗 獲得超8個贊
官方 Docker 文檔有關(guān)于構(gòu)建 Go 鏡像的有用說明:https ://docs.docker.com/language/golang/build-images/
總之,您需要構(gòu)建您的 Go 二進(jìn)制文件,并且需要適當(dāng)?shù)嘏渲?CMD,例如:
FROM golang:1.17.3
WORKDIR /app
COPY main.go .
COPY go.mod ./
RUN go build -o /my-go-app
CMD ["/my-go-app"]
構(gòu)建容器:
$ docker build -t users-service .
運(yùn)行 docker 容器:
$ docker run --rm -it users-service
Hello, World!
TA貢獻(xiàn)1820條經(jīng)驗 獲得超3個贊
您的“app”可執(zhí)行二進(jìn)制文件應(yīng)該可以在您$PATH的全局調(diào)用中使用,而無需任何路徑前綴。否則,您必須提供可執(zhí)行文件的完整路徑,例如CMD ["/my/app"]
另外,我建議使用ENTRYPOINT指令。ENTRYPOINT指示可執(zhí)行文件的直接路徑,而CMD指示提供給ENTRYPOINT.
使用組合指令使您的圖像層最小化,與使用多個sRUN相比,您的整體圖像大小變得更小一些。RUN
- 2 回答
- 0 關(guān)注
- 240 瀏覽
添加回答
舉報
