如何搭建docker registry私服-mile米乐体育

这篇文章主要介绍如何搭建docker registry私服,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

目前为止,docker官方的registry镜像分为两个版本,v2和v2以前的版本,我管它叫v1,v1使用python编写的,之后的v2用的go语言,而且它们的api也不一样,本文将分别搭建基于ssl和登录认证的以上两个版本的docker私服。

registry(v2)

搭建环境:172.16.71.52 (contos7,docker1.8)

首先下载镜像

dockerpullresigtry:2

创建证书

mkdir-pcerts&&opensslreq\ -newkeyrsa:4096-nodes-sha256-keyoutcerts/domain.key\ -x509-days365-outcerts/domain.crt

复制domain.crt到指定目录,172.16.71.52.xip.io为私有仓库所在服务器的域名,5000为registry的端口号

cp/certs/domain.crt/etc/docker/certs.d/172.16.71.52.xip.io:5000/ca.crt

建立登录认证

mkdirauth dockerrun--entrypointhtpasswdregistry:2-bbn你的用户名你的密码>auth/htpasswd

重启docker

systemctlrestartdocker

run起来

dockerrun-d-p5000:5000--restart=always--nameregistry\ -v`pwd`/auth:/auth\ -e"registry_auth=htpasswd"\ -e"registry_auth_htpasswd_realm=registryrealm"\ -eregistry_auth_htpasswd_path=/auth/htpasswd\ -v`pwd`/certs:/certs\ -eregistry_http_tls_certificate=/certs/domain.crt\ -eregistry_http_tls_key=/certs/domain.key\ registry:2

先登录,再使用

dockerlogin172.16.71.52.xip.io:5000  dockertagredis172.16.71.52.xip.io:5000/redis  dockerpush172.16.71.52.xip.io:5000/redis

检查下,image是否进入了我们搭建的私有仓库

#找到外部挂载的目录 dockerinspect--format{{'json.mounts'}}registry  #push进来的image都安静的躺在这里 cd/tmp/data/docker/registry/v2/repositories

以下是注意事项:

1.创建认证证书时common name应该用registry所在机器的域名,本人用ip测试没有成功。

2.docker run之前确保5000端口没有被占用,启动成功以后用docker logs看下有没有报错

3.push和pull之前要docker login一下

4.想要通过安全认证记得把生成的 domain.crt 复制到/etc/docker/certs.d/172.16.71.52.xip.io:5000/ca.crt,其中172.16.71.52.xip.io为私服的域名,5000为registry的对外端口

5.v2的api变了,访问v1/search会报错404 not found,可以通过/v2/_catalog查看私有仓库的目录,v2的aip参见这里

参考

https://docs.docker.com/registry/deploying/  https://docs.docker.com/engine/reference/commandline/inspect/ https://docs.docker.com/registry/spec/api/

registry(v1)

v1版本的registry搭建起来比较费劲(也有可能我没有找到优雅的方法),在网上找了一篇用nginx做ssl和登录认证的博文,感谢博主,可移步这里查看(亲测可用)

搭建docker内网私服(docker-registry with nginx&ssl on centos)

因为版本原因(docker1.8),在ssl认证上还需要把生成的根证书copy到docker指定目录(如搭建v2时描述的)

cp/etc/pki/ca/cacert.pem/etc/docker/certs.d/172.16.71.43.xip.io:5000/ca.crt

注意在其他主机访问私服时也要做以上操作。

以上是“如何搭建docker registry私服”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注恰卡编程网行业资讯频道!

展开全文
内容来源于互联网和用户投稿,文章中一旦含有米乐app官网登录的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系米乐app官网登录删除

最新文章

网站地图