我試圖讓一個(gè)在 cmd 行上運(yùn)行的 golang 程序在 docker 容器中運(yùn)行,但是導(dǎo)入 archive/tar 會(huì)導(dǎo)致錯(cuò)誤。這有效: package main import ( "fmt" ) func main() { fmt.Println("success!") }產(chǎn)生輸出: liam gotest $ docker run -it gotest success!這不會(huì): package main import ( "archive/tar" "fmt" ) var _ = tar.TypeReg func main() { fmt.Println("success!") }產(chǎn)生輸出: liam gotest $ docker run -it gotest standard_init_linux.go:207: exec user process caused "no such file or directory"這是我的 Dockerfile: FROM scratch WORKDIR /app COPY . /app CMD ["./test"]我在跑:go version go1.11.4 linux/amd64Docker version 18.09.1, build 4c52b90ubuntu 18.04LTS我將不勝感激任何建議。由 vishnu narayanan 解決:我用了`CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo test.go`構(gòu)建一個(gè)靜態(tài)可執(zhí)行文件,它成功了。
在 golang 中導(dǎo)入存檔/tar 時(shí) docker run 失敗
喵喵時(shí)光機(jī)
2023-06-01 17:22:17