1、配置代理,需要绕过认证问题
{
"registry-mirrors": [
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc",
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://dockerproxy.com",
"https://gst6rzl9.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"http://mirrors.ustc.edu.cn/",
"https://mirrors.tuna.tsinghua.edu.cn/",
"http://mirrors.sohu.com/"
],
"insecure-registries": [
"registry.docker-cn.com",
"docker.mirrors.ustc.edu.cn",
"192.168.198.90:5000"
],
"debug": true,
"experimental": false,
"proxies": {
"http-proxy": "http://xxx:7890",
"https-proxy": "http://xxx:7890"
}
}
`insecure-registries ` 是放开认证问题,允许 Docker 仓库使用非 HTTPS 协议,基本上如果哪个镜像拉去失败了都在这里加。
`registry-mirrors` 是镜像地址
`proxies` 是代理地址
2、搭建docker仓库
# 1. 拉取官方Registry镜像(v2版本)
docker pull registry:2
# 2. 启动私有仓库(数据持久化到/opt/registry-data,避免容器删除丢失)
docker run -d \
-p 5000:5000 \
--name local-registry \
-v /opt/registry-data:/var/lib/registry \
--restart=always \
registry:2
3、编译推送
构建镜像
docker build -t 192.168.198.90:5000/gin-test:v1.0 -f go-demo.Dockerfile .
推送镜像
docker push 192.168.198.90:5000/gin-test:v1.0
验证镜像
curl http://192.168.198.90:5000/v2/_catalog | grep gin-test
curl http://192.168.198.90:5000/v2/gin-test/tags/list
成功的话,镜像如下:
[root@localhost k8s-deploy]# docker push 192.168.198.90:5000/gin-test:v1.0
The push refers to repository [192.168.198.90:5000/gin-test]
2b73b368c293: Layer already exists
ca7ce6a1c22a: Layer already exists
f44f286046d9: Layer already exists
v1.0: digest: sha256:8b86e4cb05f61b4171b4bf2d8eeabf005c9601ed6f9da1cb74f149a82758e1e4 size: 950
[root@localhost k8s-deploy]# curl http://192.168.198.90:5000/v2/_catalog
{"repositories":["ambassador-telepresence-manager","gin-test"]}
[root@localhost k8s-deploy]# curl http://192.168.198.90:5000/v2/gin-test/tags/list
{"name":"gin-test","tags":["v1.0"]}
[root@localhost k8s-deploy]# curl http://192.168.198.90:5000/v2/_catalog | grep gin-test
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 64 100 64 0 0 37470 0 --:--:-- --:--:-- --:--:-- 64000
{"repositories":["ambassador-telepresence-manager","gin-test"]}