docker私有仓库(认证功能)
搭建docker私有仓库,带认证功能,记录如下:1.创建对应的目录
mkdir -p /data/registry/ && cd /data/registry/ && mkdir auth certs 2.创建密码文件
cd /data/registry/
docker run --entrypoint htpasswd daocloud.io/registry:2.2 -Bbn ttxsgoto ttxsgoto > auth/htpasswd 3.生成签名证书
openssl req -x509 -days 3650 -subj '/CN=ttxsgoto.com/' -nodes -newkey rsa:2048 -keyout certs/registry.key -out certs/registry.crt; 4.启动,脚本存放在 /data/registry/下
#!/bin/bash
dir=$(cd `dirname $0`;pwd)
docker stop registry && docker rm registry
docker run -d -p 443:5000 --restart=always \
--name registry \
-v $dir/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry on ttxsgoto.com" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-v $dir/certs:/certs \
-v $dir/data:/var/lib/registry \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/registry.key \
daocloud.io/registry:2.2 5.创建存放证书目录
mkdir -p /etc/docker/certs.d/ttxsgoto.com #将生成的证书registry.crt存放在该目录下 6.在/etc/hosts中做域名解析,如果为dns解析无需此步骤
192.168.229.133 ttxsgoto.com 7.登录验证
docker login ttxsgoto.com #然后输入刚才的用户名和密码就可以登录,之后就可以push/pull了。
docker logout ttxsgoto.com #注销登录
说明:登录成功后会把登录信息存放到/root/.docker/config.json文件中 8.API使用
http://ttxsgoto.com/v2/_catalog #列出镜像名称
curlhttp://ttxsgoto.com/v2/image_name/tags/list #查看具体镜像image_name的tag
参考链接:
http://www.zimug.com/317.html
页:
[1]