下载外网docker镜像的方法

来看一个dockerfile文件:

复制代码
 1 # Build the manager binary
 2 FROM golang:1.16 as builder
 3 
 4 WORKDIR /workspace
 5 # Copy the Go Modules manifests
 6 COPY go.mod go.mod
 7 COPY go.sum go.sum
 8 # cache deps before building and copying source so that we don't need to re-download as much
 9 # and so that source changes don't invalidate our downloaded layer
10 RUN GOPROXY=https://goproxy.cn && go mod download
11 
12 # Copy the go source
13 COPY main.go main.go
14 COPY api/ api/
15 COPY controllers/ controllers/
16 
17 # Build
18 RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -o manager main.go
19 
20 # Use distroless as minimal base image to package the manager binary
21 # Refer to https://github.com/GoogleContainerTools/distroless for more details
22 FROM gcr.io/distroless/static:nonroot
23 WORKDIR /
24 COPY --from=builder /workspace/manager .
25 USER 65532:65532
26 
27 ENTRYPOINT ["/manager"]
复制代码

上述dockerfile文件中第22行有一个 gcr.io/distroless/static:nonroot 镜像,这个镜像在国内肯定是拉取不到的,这里给出一个解决方法:

 katacoda网站是一个国外的教学网站,这里可以利用它提供的终端去下载gcr镜像。方法如下:

 去katacoda网站 随便点开一个课程,进入该课程,可以看到一个终端,如图所示:

 

 

 

之后在该终端执行以下操作:

复制代码
# 登录dockerhub,我的用户名是yxy
docker login

# 由于kacacoda是国外网站,所以可以直接在它的终端上拉取gcr镜像
docker pull gcr.io/distroless/static:nonroot

# 给镜像改名,一定要是: 你的dockerhub用户名/镜像名:版本,否则无法推送到自己的镜像仓库
docker tag gcr.io/distroless/static:nonroot  yxy/distroless:nonroot

# 推送到自己的dockerhub镜像仓库
docker push yxy/distroless:nonroot
复制代码

 

这样就成功下载到了国外的镜像!

然后修改上述dockerfile文件,把 gcr.io/distroless/static:nonroot 改成 yxy/distroless:nonroot 即可,这样以后就会直接在你的dockerhub拉取yxy/distroless:nonroot了(和gcr那个是一样的,只是名字不同),而不用拉取gcr的。

 

问题解决!

 

posted @   拾月凄辰  阅读(2661)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2019-07-14 如何在不卸载原来jdk1.8的情况下切换到jdk1.7
点击右上角即可分享
微信分享提示
主题色彩