部署docker-registry+ui shell 域名证书-用户认证

Posted Elvin笔记分享

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署docker-registry+ui shell 域名证书-用户认证相关的知识,希望对你有一定的参考价值。

#部署docker-registry+ui shell

docker registry 配置域名证书, 用户密码认证, 轻量UI
ansible部署docker-registry+ui https://www.cnblogs.com/elvi/p/13394492.html


#!/bin/bash
#run.docker-registry.sh
#部署docker registry +ui
# By Elvin

#目录
data_dir=/data/docker/docker-registry
mkdir -p $data_dir
cd $data_dir

#域名证书(使用我的证书为例)
domain_name=hub.elvin.vip
download_url=http://files.elvin.vip/docker
if [  ! -e ${domain_name}_private.key -o  ! -e ${domain_name}_private.key ];then
curl -so hub.elvin.vip_private.key    ${download_url}/${domain_name}_private.key
curl -so hub.elvin.vip_full_chain.pem ${download_url}/${domain_name}_full_chain.pem
fi

#创建密码文件,用户admin 密码 docker
docker run --rm alivv/htpasswd admin docker >htpasswd

#创建网络 registry-net
if [ $(docker network ls |grep registry-ui-net |wc -l) -ne 1 ];then
    docker network create --subnet 10.20.20.0/24 --gateway 10.20.20.1 registry-net
fi

#registry-srv
docker rm -f registry-srv &>/dev/null
docker run -dit --name registry-srv \\
--privileged=true --restart=always \\
--net registry-net -p 443:443 \\
--memory 512M \\
-v $data_dir:/var/lib/registry \\
-v /etc/localtime:/etc/localtime:ro \\
-e REGISTRY_AUTH=htpasswd \\
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \\
-e REGISTRY_AUTH_HTPASSWD_PATH=/var/lib/registry/htpasswd \\
-e REGISTRY_HTTP_ADDR=0.0.0.0:443 \\
-e REGISTRY_STORAGE_DELETE_ENABLED=true \\
-e REGISTRY_HTTP_TLS_KEY=/var/lib/registry/hub.elvin.vip_private.key \\
-e REGISTRY_HTTP_TLS_CERTIFICATE=/var/lib/registry/hub.elvin.vip_full_chain.pem \\
registry

#registry-ui
docker rm -f registry-ui  &>/dev/null
docker run -d --name registry-ui \\
--restart=always \\
--memory 64M \\
--net registry-net -p 80:80 \\
-v /etc/localtime:/etc/localtime:ro \\
-e REGISTRY_URL=https://registry-srv:443 \\
-e PULL_URL=${domain_name} \\
-e DELETE_IMAGES=true \\
-e REGISTRY_TITLE="Docker registry" \\
joxit/docker-registry-ui:1.3-static

#docker pull images

#下载images
docker pull alpine
docker pull alpine:3.12

#docker tag 添加仓库前缀地址
docker tag  alpine  hub.elvin.vip/demo/alpine
docker tag  alpine:3.12  hub.elvin.vip/demo/alpine:3.12

#登录
docker login hub.elvin.vip

#images push
docker push hub.elvin.vip/demo/alpine
docker push hub.elvin.vip/demo/alpine:3.12

#浏览器登录查看


#remove demo
docker rm -f registry-srv 
docker rm -f registry-ui 
docker network rm registry-ui-net

registry非本机,设置hosts解析 ip hub.elvin.vip
Docker Registry UI 当前最新版1.5, 界面有改动,显示pull hash值
github https://github.com/Joxit/docker-registry-ui

以上是关于部署docker-registry+ui shell 域名证书-用户认证的主要内容,如果未能解决你的问题,请参考以下文章

部署docker-registry私有仓库

微服务持续集成与部署-搭建

如何远程访问私有 docker-registry?

如何远程访问私有 docker-registry?

docker-registry构建私有的镜像仓库

docker-registry搭建