登录
首页 >  Golang >  Go问答

使用 Docker Alpine 在 go get 过程中导致出现“未知修订”错误

来源:stackoverflow

时间:2024-03-06 10:15:26 118浏览 收藏

从现在开始,努力学习吧!本文《使用 Docker Alpine 在 go get 过程中导致出现“未知修订”错误》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

我有以下 docker,它工作正常,我能够运行它并成功构建它!

from golang:1.13.6 as build-env



env go111module=on
env goos=linux
env cgo_enabled=0




run mkdir -p /go/src/github.company.corp/deng/fst-cl
workdir /go/src/github.company.corp/deng/fsr-clie


copy ./ ./

# build the code
run go build -v -o ./fsr  ./src/cmd/main.go

现在我想更改图像以使用更轻的 docker 图像,例如 go alpine

所以我更改了版本并添加了 alpine 版本,还添加了 git ,但是构建失败了 所以去 lib ,这在更改之前不会发生,知道可能会丢失什么吗?

from golang:1.13.6-alpine as build-env



env go111module=on
env goos=linux
env cgo_enabled=0


## git is required to fetch go dependencies
run apk add --no-cache ca-certificates git
run apk add --no-cache gcc musl-dev


run mkdir -p /go/src/github.company.corp/deng/fst-cl
workdir /go/src/github.company.corp/deng/fsr-clie


copy ./ ./

# build the code
run go build -v -o ./fsr  ./src/cmd/main.go

该错误是针对驻留在我们公司 git 存储库上的特定存储库的,但我不明白为什么它会发生在 golang:1.13.6-alpine 上并且在 golang:1.13.6 上工作正常???

顺便说一句,我尝试使用不同版本的 go alpine 但没有成功......

这是错误:

get "github.company.corp/deng/logger-ut": found meta tag get.metaImport{Prefix:"github.company.corp/deng/logger-ut", VCS:"git", RepoRoot:"https://github.company.corp/deng/logger-ut.git"} at //github.company.corp/deng/logger-ut?go-get=1
go: github.company.corp/deng/[email protected]: reading github.company.corp/deng/logger-ut/go.mod at revision v1.0.0: unknown revision v1.0.0

解决方案


如果您想要更亮的图像并希望使用 apline,您可以使用下面的示例。您的最终应用程序映像在 scratch 上的大小应类似于 7mb。调整它适合它!

# STAGE 1: prepare
FROM golang:1.13.1-alpine3.10 as prepare

WORKDIR /source

COPY go.mod .
COPY go.sum .

RUN go mod download

# STAGE 2: build
FROM prepare AS build

COPY . .

RUN CGO_ENABLED=0 go build -ldflags "-s -w" -o bin/app -v your/app.go

# STAGE 3: run
FROM scratch as run

COPY --from=build /source/bin/app /app

ENTRYPOINT ["/app"]

今天关于《使用 Docker Alpine 在 go get 过程中导致出现“未知修订”错误》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>