内网环境突破Dockerhub限速实用方法

参考: https://kubesphere.com.cn/forum/d/3001-dockerhub/4

只有当该registry没有该镜像的时候会从外网拉取一次,以后全部走缓存,极大的减少了向dockerhub的拉取次数,从而顺利解决dockerhub限速限次数问题。


docker部署私有仓库作为docker镜像缓存服务器

# 创建本地volume,持久化保存镜像文件
docker volume create docker-repo

# 拉取镜像
docker pull registry:latest

# 启动docker-hub-cache容器
docker run -d --name docker-cache \
  --restart=always \
  -p 5000:5000 \
  -e REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io \
  -v docker-repo:/var/lib/registry \
  registry
# k8s环境可以选择https://k8s.gcr.io

containerd部署镜像缓存服务器

# 创建本地volume,持久化保存镜像文件
nerdctl -n k8s.io volume create docker-repo

# 拉取镜像
nerdctl -n k8s.io pull registry:latest

# 启动docker-hub-cache容器
nerdctl -n k8s.io run -d --name docker-cache \
  --restart=always \
  -p 5000:5000 \
  -e REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io \
  -v docker-repo:/var/lib/registry \
  registry
# k8s环境可以选择https://k8s.gcr.io

其他主机配置加速镜像地址

docker配置加速镜像

# cat /etc/docker/daemon.json
{
        "registry-mirrors": [
                "http://192.168.0.10:5000"
        ]
}

# 重启docker服务
systemctl daemon-reload
systemctl restart docker

# 查看镜像地址
[root@k8s-node3 ~]# docker info --format '{{ .RegistryConfig.Mirrors }}' 
[http://192.168.93.9:5000/]

containerd配置加速镜像



docker查询私有仓库(registry)中的镜像

参考:https://stackoverflow.com/questions/23733678/how-to-search-images-from-private-1-0-registry-in-docker

在这里插入图片描述

# 获取私有仓库中的所有镜像
docker-registry-cli 镜像地址:5000 list all sll

# 搜索私有仓库中的镜像
docker-registry-cli 镜像地址:5000 search 镜像名 sll

1、获取私有仓库的镜像:

[root@k8s]# curl -XGET http://192.168.1.8:5000/v2/_catalog

{"repositories":["nginx"]}

2、获取某个镜像的标签列表:

[root@k8s]# curl -XGET http://192.168.1.8:5000/v2/image_name/tags/list

{"errors":[{"code":"NAME_UNKNOWN","message":"repositoryname not known toregistry","detail":{"name":"image_name"}}]}


[root@k8s]# curl -XGET http://192.168.1.8:5000/v2/nginx/tags/list

{"name":"nginx","tags":["latest"]}
### Docker Hub 使用指南 #### 登录 Docker Hub 全新的 Docker 安装默认与 Docker Hub 进行公共交互。为了访问个人内容并享受较低的 Docker API 速率限制,用户需要登录 Docker Hub 或者私有注册表[^1]。 ```bash docker login ``` 执行上述命令后,终端会提示输入用户名和密码。成功验证身份之后,可以顺利推送或拉取私有镜像以及利用其他高级功能。 #### 浏览与搜索镜像 Docker Hub 提供了一个网页界面用于浏览不同类型的容器镜像。对于希望快速找到所需资源而不必编写复杂查询语句的新手来说非常方便。页面顶部设有搜索栏,支持按名称查找特定软件包;左侧菜单则列出了多个分类选项以便进一步筛选目标对象。 官方推荐使用带有 "Docker Official Images" 标签的镜像作为首选项,因为这些是由 Docker Inc. 维护和支持的企业级质量保证版本[^4]。 #### 下载(Pull)镜像 当确定好要使用的镜像后,可以通过 `docker pull` 命令将其下载到本地环境中。例如: ```bash sudo docker pull ubuntu:12.04 ``` 这条指令实际上是从地址为 `http://registry.hub.docker.com/` 的 Ubuntu 仓库中提取标记为 `12.04` 版本的 Linux 发行版映像文件[^3]。 #### 推送(Push)自定义镜像至 Docker Hub 创建并测试完成自己的应用镜像之后,还可以考虑分享给更多开发者群体。这一步骤涉及先打标签再上传两步操作: - **Tagging**: 将本地镜像关联到远程仓库路径下; ```bash docker tag my_image username/repository:tagname ``` - **Pushing**: 把已打好标签的镜像推送到指定位置 ```bash docker push username/repository:tagname ``` 以上就是关于如何高效地运用 Docker Hub 平台的一些基本指导说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

教Linux的李老师

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值