使用脚本前请确认域名的[@记录和*记录]已经解析到该服务器!
# CentOS
yum -y install wget curl
# ubuntu
apt -y install wget curl
bash -c "$(curl -fsSL https://raw.githubusercontent.com/kubesre/docker-registry-mirrors/main/dockerproxy/install/DockerProxy_Install.sh)"
使用docker compose部署
- 前提: 准备一个域名并做好 DNS 解析到准备好的服务器的 IP *
在服务器里新建一个文件 docker-compose.yaml 内容如下
version: '3'
services:
crproxy:
image: ghcr.io/daocloud/crproxy/crproxy:v0.9.1
container_name: crproxy
restart: unless-stopped
ports:
- 80:8080
- 443:8080
command: |
--acme-cache-dir=/tmp/acme
--acme-hosts=*
--default-registry=docker.io
tmpfs:
- /tmp/acme
# 非必须, 如果这台服务器无法畅通的达到你要的镜像仓库可以尝试配置
#environment:
#- https_proxy=http://proxy:8080
#- http_proxy=http://proxy:8080
然后执行 docker-compose up -d
docker pull 你的域名/hello-world
也可以添加到 /etc/docker/daemon.json
{
"registry-mirrors": [
"https://你的域名"
]
}
docker pull hello-world
部署到 Render
部署到 Sealos
- 一键部署Docker镜像代理服务的功能,并且自动配置https证书.
- 支持多个镜像仓库的代理,包括Docker Hub、GitHub Container Registry (ghcr.io)、Quay Container Registry (quay.io)和 Kubernetes Container Registry (k8s.gcr.io)
- 自动检查并安装所需的依赖软件,如Docker、Nginx等,并确保系统环境满足运行要求. 自动清理注册表上传目录中的那些不再被任何镜像或清单引用的文件
- 提供了重启服务、更新服务、更新配置和卸载服务的功能,方便用户进行日常管理和维护
- 支持主流Linux发行版操作系统,例如Centos、Ubuntu、Rocky、Debian、Rhel等 支持主流ARCH架构下部署,包括linux/amd64、linux/arm64
源站 | 替换为 |
---|---|
cr.l5d.io | l5d.your_domain_name |
docker.elastic.co | elastic.your_domain_name |
docker.io | docker.your_domain_name |
gcr.io | gcr.your_domain_name |
ghcr.io | ghcr.your_domain_name |
k8s.gcr.io | k8s-gcr.your_domain_name |
registry.k8s.io | k8s.your_domain_name |
mcr.microsoft.com | mcr.your_domain_name |
nvcr.io | nvcr.your_domain_name |
quay.io | quay.your_domain_name |
registry.jujucharms.com | jujucharms.your_domain_name |
wget https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
以argocd yaml文件举例:
grep -n image: install.yaml
21645: image: quay.io/argoproj/argocd:v2.11.0
21739: image: ghcr.io/dexidp/dex:v2.38.0
21768: image: quay.io/argoproj/argocd:v2.11.0
21850: image: quay.io/argoproj/argocd:v2.11.0
21927: image: redis:7.0.14-alpine
22162: image: quay.io/argoproj/argocd:v2.11.0
22214: image: quay.io/argoproj/argocd:v2.11.0
22531: image: quay.io/argoproj/argocd:v2.11.0
22825: image: quay.io/argoproj/argocd:v2.11.0
使用方式:
使用方式都是替换原来镜像的前缀域名即可实现加速效果,比如:
#docker.io
原来地址: redis:7.0.14-alpine # 这个是官方镜像,省略了前边的域名
替换地址: docker.your_domain_name/redis:7.0.14-alpine
#quary.io
原来的地址: quay.io/argoproj/argocd:v2.11.0
替换地址: quay.your_domain_name/argoproj/argocd:v2.11.0
#ghcr.io
原来的地址: ghcr.io/dexidp/dex:v2.38.0
替换地址: ghcr.your_domain_name/dexidp/dex:v2.38.0
通过这种方式只能加速docker hub的镜像,对于其他镜像仓库,比如k8s.gcr.io, quay.io等,需要使用方案一替换前缀的方式进行加速。
还有一种方案是通过将加速地址写入到docker配置文件当中实现加速。
Ubuntu14.04、Debian7Wheezy
对于使用 upstart 的系统而言,编辑 /etc/default/docker 文件,在其中的 DOCKER_OPTS 中配置加速器地址:
DOCKER_OPTS="--registry-mirror=https://docker.your_domain_name"
Ubuntu16.04+、Debian8+、CentOS7
对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
{
"registry-mirrors": [
"https://docker.your_domain_name"
]
}