首页 > 代码库 > docker私有仓库(认证功能)

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文件中


参考链接:

http://www.zimug.com/317.html

http://ylw6006.blog.51cto.com/470441/1597873

本文出自 “天天向上goto” 博客,请务必保留此出处http://ttxsgoto.blog.51cto.com/4943095/1863316

docker私有仓库(认证功能)