第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 docker 容器中構(gòu)建比在根系統(tǒng)上慢得多

在 docker 容器中構(gòu)建比在根系統(tǒng)上慢得多

Go
慕妹3242003 2022-05-18 15:40:57
我正在嘗試使用以下命令構(gòu)建一個(gè) go 包:CGO_ENABLED=0 GOOS=linux go build -o bin/router -installsuffix cgo -ldflags '-w'這在我的電腦上大約需要 0.5 秒。docker 容器中的相同命令需要 45 秒。RUN CGO_ENABLED=0 GOOS=linux go build -o /app/router -installsuffix cgo -ldflags '-w' /build/src/global/router在本地我有 go 版本1.12.9 linux/amd64。docker 容器使用golang:1.13圖像作為基礎(chǔ)。我的猜測(cè)是 docker build 進(jìn)程的可用 CPU 較少,但這是否有很大的不同?這個(gè)問(wèn)題的原因可能是什么?這可以通過(guò)一個(gè)最小的示例重現(xiàn):main.go:package mainimport "log"func main() {    log.Println("test")}Dockerfile:FROM golang:1.13ADD main.go .RUN CGO_ENABLED=0 GOOS=linux go build -o main -installsuffix cgo -ldflags '-w'CMD [ "main" ]docker 容器內(nèi)的命令大約需要 5 秒,而我的電腦上的 <0.1 秒。
查看完整描述

1 回答

?
largeQ

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊

在我看來(lái),問(wèn)題不在于容器本身。


$ go clean

$ time GO_ENABLED=0 GOOS=linux go build -o main -installsuffix cgo -ldflags '-w'


real    0m0,233s

user    0m0,278s

sys 0m0,094s


$ time GO_ENABLED=0 GOOS=linux go build -o main -installsuffix cgo -ldflags '-w'


real    0m0,076s

user    0m0,098s

sys 0m0,053s


$ go clean

$ time GO_ENABLED=0 GOOS=linux go build -o main -installsuffix cgo -ldflags '-w'


real    0m0,238s

user    0m0,315s

sys 0m0,070s

您可以在比較連續(xù)構(gòu)建中看到構(gòu)建在“清理”之后所花費(fèi)的時(shí)間。


概要 清理 [-i] [-r] [-n] [-x] [包]


描述 清潔


從包源目錄中刪除目標(biāo)文件。go 命令在臨時(shí)目錄中構(gòu)建大部分對(duì)象,因此 go clean 主要關(guān)注其他工具或手動(dòng)調(diào)用 go build 留下的對(duì)象文件。


https://manpages.debian.org/testing/golang-go/go-clean.1.en.html


在每次嘗試在您的計(jì)算機(jī)上構(gòu)建時(shí),您是否清除了構(gòu)建文件夾?


查看完整回答
反對(duì) 回復(fù) 2022-05-18
  • 1 回答
  • 0 關(guān)注
  • 195 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)