搭建属于自己的DockerHub镜像站

不知道为啥,最近越来越多的镜像站不能用了
我正好有个香港的服务器,所以考虑自己搭建一个DockerHub的镜像库

DockerHub镜像库docker-compose.yaml文件

version: "3"
services:
  docker-registry:
    image: registry:2
    restart: always
    ports:
      - 5000:5000
    volumes:
      - ./data/registry:/var/lib/registry
    environment:
      REGISTRY_PROXY_REMOTEURL: https://registry-1.docker.io

为了方便使用,我还加了 nginx 反向代理了

upstream dockerhub {
    server  127.0.0.1:5000;
}
server {
    listen 80;
    server_name [域名];


    # 强制跳转到 HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name [域名];

    # SSL证书相关配置,需要自己替换为自己的证书文件路径和密钥文件路径
    ssl_certificate   ssl/guiyun.plus/guiyun.plus.crt;
    ssl_certificate_key ssl/guiyun.plus/guiyun.plus.key;

    location / {
        # 后端服务器地址和端口号,需要自己替换为实际值
            proxy_pass http://dockerhub;

        # 开启反向代理
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        # 支持 HTTP2
        http2_push_preload on;
    }
}

最后在docker中加入自己的的镜像就可以了

sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        [域名],
    ]
}
EOF

不过我比较喜欢还是直接带域名拉取镜像

如:

docker pull [域名]/linuxserver/jellyfin
docker pull [域名]/library/mysql

搭建属于自己的DockerHub镜像站
https://guiyunweb.com/archives/1727248422606
作者
归云
发布于
2024年09月25日
更新于
2024年09月25日
许可协议