在现代软件开发和部署过程中,容器化技术已经成为不可或缺的一部分。Docker 是其中最流行的容器化平台,提供了一个强大的工具集来简化应用程序的构建、部署和运行。最近由于部分原因,国内的很多出名的高校docker 仓库镜像站点 和云服务的镜像站点全部暂停对外服务了。
以下是USTC的公告:
2024-06-06 ,暂时关闭 Docker Hub 镜像缓存服务,GCR 与 Quay 暂不受影响。 其他的docker镜像站点现在已经无法打开了。
这种情况下,我们就需要找仍然在服务的镜像站点使用或者自己来搭建一个docker镜像站点。后者需要我们拥有一个国外的服务器和域名
服务器自建docker hub镜像加速站点
这个网上有很多教程以及搭建脚本,但是对于小白来说可能略有复杂。所以我们找到了一键安装的脚本。今天的教程来自于github地址:https://github.com/dqzboy/Docker-Proxy
话不多说直接开整 本教程基于centos。其他的linux发行版原理也是一样的。
安装wget 和 curl
yum -y install wget curl
执行一键安装脚本
bash -c "$(curl -fsSL https://raw.githubusercontent.com/dqzboy/Docker-Proxy/main/install/DockerProxy_Install.sh)"
根据作者的文本提示,我们选择安装服务,如果没有安装web服务,可以先选择Nginx 或者 Caddy。 因为我已经装过nginx了。所以我这里不在装web服务,最后选择安装docker hub即可 安装完毕后,作者会给出一个容器的外网访问地址,这个是镜像站点的web页面。我们确保开启对应的端口后前台访问页面如下,页面没有内容,我们先不要管。这是正常的。因为还没有拉:
这里要注意的是还有一个51000端口的才是重点的仓库容器
**接下来,需要我们去反向代理,即确保可以通过域名访问这个web页面和仓库容器。小白可以直接程序里的安装web服务时候安装caddy比较简单,如果是nginx 的可以自行去百度或者翻阅我之前写的文章。设置2个反向代理,一个是代理web站点的50000端口,一个是代理仓库的51000端口。 假设前者是域名是a.com 那么后面的域名 hub.a.com **
至此,我们已经完成了80%的工作量
到这一步,我们需要在上网环境不好(无法访问官方docker hub的机器)的机器上面去设置docker的镜像源。
执行命令vim /etc/docker/daemon.json
然后将以下内容粘贴进去。注意要将 hub.a.com 替换成你自己的域名(反代51000容器的域名)
{
"registry-mirrors": [ "https://hub.a.com" ],
"log-opts": {
"max-size": "100m",
"max-file": "5"
}
}
-
然后重启docker服务。输入命令 systemctl restart docker -
然后我们输入 docker info 。若文章的最后几行展示的内容是 以下内容则证明成功
Registry Mirrors:
https://hub.a.com/
-
接下来就是最后一步。我们用该镜像站点拉镜像。我这里用nginx镜像作为演示。输入命令 docker pull hub.a.com/library/nginx:latest
等待它拉下来即可。至此就大功告成了! 此时我们查看镜像站点,发现已经有了Nginx了。
版权声明:本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系客服并出示版权证明以便删除!
发表评论