跳到主要内容

2025-02-11

一言

不负韶华,不忘初心。 --- 《Jane》 · Nice南先生


部署docker registry

在一台可以访问docker hub的服务器上部署 registry 给不能访问docker hub的服务器拉取镜使用


  1. 创建registry配置文件 /path/to/config.yaml
version: 0.1
proxy:
remoteurl: https://registry-1.docker.io

解释:

  • version: 0.1 为配置文件版本;
  • proxy.remoteurl 指定 Docker Hub 的地址(当前默认为 https://registry-1.docker.io)。

这个配置告诉 Registry,当请求的镜像在本地不存在时,从 Docker Hub 拉取并缓存。


备注

本例中用nginx做了一个反向代理,使其他docker可以通过443端口来访问registry

  1. 创建nginx配置文件 /path/to/registry.conf
server {
listen 443 ssl;
server_name domain.name;

ssl_certificate /etc/nginx/cert/domain.name.crt;
ssl_certificate_key /etc/nginx/cert/domain.name.key;

location / {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}