【GO】使用docker執行go指令碼報錯:fork/exec /tmp/go-build730426207/b001/exe/a.exe: exec format error
阿新 • • 發佈:2019-02-12
問題:
docker run --rm -v /search/odin/data/go_test:/usr/src/myapp
-w /usr/src/myapp
-e GOOS=windows -e GOARCH=386
golang:latest go run a.go
結果居然報錯:
fork/exec /tmp/go-build616243179/b001/exe/a.exe: exec format error
原因:
因為執行命令中的-e GOOS引數設定為了windows,也就是說我們正在測試的docker容器作業系統之外的其他東西,導致無法go使用系統函式錯誤。因為沒有看到golang dockerfile中的具體內容,現在猜測的是不能進行跨平臺測試操作。所以對於go test不要設定$GOOS
解決:
去掉-e引數,執行:
docker run --rm -v /search/odin/data/go_test:/usr/src/myapp
-w /usr/src/myapp
golang:latest go run a.go