DockerHub镜像加速
Docker镜像拉取加速服务及配置指南
6月6日,上海交大的 Docker Hub 镜像加速器 宣布因监管要求被下架,Dockerhub 无法访问。具体可看此通知。
功能简介
免费学习使用的Docker镜像拉取加速服务,破解Docker官方限制频率等多种应用场景,无限速拉取镜像。
很多种功能都是独家支持,源码是闭源的,防止被滥用,根据下面教程设置镜像站即可畅快使用。
Docker配置镜像加速
Docker镜像加速不同的操作系统有不同的设置方法,需要根据操作系统类型去设置,下面给出了Linux、Windows、Mac操作系统的设置方法。
为了方便使用,Linux设置镜像站已经写为脚本。
Linux
配置镜像站
curl -sSL https://www.geekery.cn/sh/docker/set_docker_mirror.sh | bash
#!/bin/sh
cat <<-EOF > /etc/docker/daemon.json
{
"registry-mirrors": [
"https://hub.geekery.cn/",
"https://ghcr.geekery.cn"
]
}
EOF
systemctl daemon-reload
systemctl restart docker
适用于Ubuntu、Debian、CentOS、Fedora、Arch Linux、openSUSE 等系统。
其他版本可能有细微不同,请访问官方文档获取更多详情。
MacOS
评论区帮忙补个MacOS配置图😘
对于MacOS上的Docker For Mac用户,您可以通过以下步骤配置镜像加速服务:
点击桌面顶栏的docker图标,选择Preferences。
在Daemon标签下的Registry mirrors列表中加入以下镜像地址:
https://hub.geekery.cn/
https://ghcr.geekery.cn/
点击Apply & Restart按钮使设置生效。
Windows
Windows系统上的Docker For Windows用户可以按照以下步骤配置镜像加速服务:
在桌面右下角状态栏中右键docker图标,修改在Docker Engine标签页中的json。
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://hub.geekery.cn/",
"https://ghcr.geekery.cn"
]
}
点击Apply&restart,使配置生效。
一键安装Docker
这个脚本适用于Linux
一键安装脚本,为了防止脚本卡住,于是我做了完整的镜像,包括安装包仓库。默认使用
https://download-docker.geekery.cn
为镜像站
curl -sSL get-docker.geekery.cn | bash
curl -sSL https://get-docker.geekery.cn | bash -s -- --mirror AzureChinaCloud
curl -sSL https://get-docker.geekery.cn | bash -s -- --mirror Aliyun
curl -sSL https://get-docker.geekery.cn | DOWNLOAD_URL=https://mirrors.ustc.edu.cn/docker-ce bash
通过镜像站拉取DockerHub私有账户的镜像
登录到镜像站
首先,你需要登陆到镜像站。如果还没有登录,可以使用以下命令:
docker login hub.geekery.cn
然后,系统会提示你输入用户名和密码,输入你的dockerhub用户名密码即可登录。
拉取私有镜像
成功登录后,就可以从私有仓库中拉取镜像。使用docker pull
命令加上仓库的完整URL以及镜像的名称和标签(如果有的话)。例如:
docker pull hub.geekery.cn/<namespace>/<imagename>:<tag>
这里 <namespace>
可以是用户名或组织名,<imagename>
是镜像的名字,<tag>
是镜像的版本标签。
恢复默认镜像名
如果你想要如同DockerHub镜像一般直接不写域名直接跑,方便后面环境的使用,可以增加如下步骤恢复原有的镜像名称。
执行下面的命令将会更改Docker镜像的镜像站为Dockerhub,方便使用。
docker tag hub.geekery.cn/<namespace>/<imagename>:<tag> <namespace>/<imagename>:<tag>
这里 <namespace>
可以是用户名或组织名,<imagename>
是镜像的名字,<tag>
是镜像的版本标签。
通过镜像站推送镜像到DockerHub
登录到镜像站
首先,你需要登陆到镜像站。如果还没有登录,可以使用以下命令:
docker login hub.geekery.cn
然后,系统会提示你输入用户名和密码,输入你的dockerhub用户名密码即可登录。
更改镜像标记
你需要tag镜像设置被推送到镜像仓库。使用以下格式的命令来标记镜像:
docker tag <local-image-name>:<local-tag> hub.geekery.cn/<namespace>/<imagename>:<tag>
例如,如果你有一个名为 myimage
的本地镜像,并且你想将其推送到 hub.geekery.cn
上的 myuser
名下的 myrepo
仓库,使用如下命令:
docker tag myimage:latest hub.geekery.cn/myuser/myrepo:latest
推送镜像
使用 docker push
命令将其推送到私有仓库:
docker push hub.geekery.cn/<namespace>/<imagename>:<tag>
例如:
docker push hub.geekery.cn/myuser/myrepo:latest
这会把标记过的镜像推送到你的私有仓库,然后回到dockerhub检查,镜像已经推送到dockerhub当中去了。
Docker search命令加速
近期看到有人用docker search,但是配置了镜像站仍然无法加速搜索。所以我这里新增了Docker hub的search加速。
使用如下方式进行搜索
docker search hub.geekery.cn/<search image>
例如
docker search hub.geekery.cn/nginx
黑名单
本站建立的初衷是用于个人学习使用,方便自己也方便别人,近期发现有人滥用,我加功能的时候也写了个防火墙。
有源地址每天请求几万次,经过日志审计我认为是在生产的集群上使用了本加速镜像。我这边的自动程序处理方法是将你的源ip地址自动添加进黑名单,生产使用请联系我捐助解除禁止。
使用本镜像站同步镜像站的滥用行为,请求源ip地址将会被加进黑名单。
你用的节点在哪里?
相关信息
- 0
- 0
- 0
- 0
- 0
- 0