为 Docker Registry 增加 Nginx 前端

时间:2021-04-13 13:51:30

其实Docker Registry 就是一个API backend,所以加一个Nginx前端有大大的好处,比如docker push 时增加用户名密码验证。

怎么加?请参考以下nginx配置

upstream docker-registry {
server 127.0.0.1:5000;
} server {
listen 80;
server_name you.awesome.com;
client_max_body_size 0;
chunked_transfer_encoding on; location / { if ($http_user_agent ~ "^(docker\/1\.(3|4|5(?!\.[0-9]-dev))|Go ).*$" ) {
return 505;
} proxy_pass http://docker-registry/;
proxy_set_header Host $http_host; # required for docker client's sake
proxy_set_header X-Real-IP $remote_addr; # pass on real client's IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 900;
}
}

  

完成,如果还不成功,可以联系楼主,楼主可以提供有偿远程调试服务。

2月17日更新

情人节过完,就马上有同学问为什么要给registry加一个前端?因为更换ssl证书需要重启docker。当然,不用ssl裸奔的同学可以忽略这个坑,但是作为一个有为青年,你怎么能容忍自己的网站地址栏没有绿色的小图标~~~

相关文章