整个架构用nginx+registry方式
nginx用于认证
1,安装registry
yum install httpd-tools -y
#先运行一个register容器
docker run -d --name docker-registry -v /opt/registry:/tmp/registry-dev registry:2
mkdir /opt/registry
cd /opt/registry
openssl req -x509 -days 3650 -nodes -newkey rsa:2048 -keyout registry/docker-registry.key -out registry/docker-registry.crt
#创建登录时候用的账号
htpasswd -c /opt/registry/docker-registry.htpasswd demo
cat /opt/registry/docker-registry.htpasswd
mkdir -p /etc/docker/certs.d/reg.ma.com
cd /etc/docker/certs.d/reg.ma.com
cp /opt/registry/docker-registry.crt ca.crt
2,安装nginx容器作为registry的proxy:containersol/docker-registry-proxy
docker run -d -p 443:443 \
--name docker-registry-proxy \
-e REGISTRY_HOST="docker-registry" \
-e REGISTRY_PORT="5000" \
-e SERVER_NAME="reg.ma.com" \
--link docker-registry:docker-registry \
-v /opt/registry/docker-registry.htpasswd:/etc/nginx/.htpasswd:ro \
-v /opt/registry:/etc/nginx/ssl:ro \
containersol/docker-registry-proxy
3,登录registry并上传镜像
docker login reg.ma.com
docker tag centos reg.ma.com/ma/centos
docker push reg.ma.com/ma/centos
4,查看registry已有哪些镜像:
curl -X GET https://demo:123456@reg.ma.com/v2/_catalog -k