#部署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 域名证书-用户认证的更多相关文章

  1. 局域网内部署 Docker Registry

    在局域网内部署 Docker Registry 可以极大的提升平时 pull.push 镜像的速度,从而缩短自动化操作的过程.同时也可以缓解带宽不足的问题,真是一举多得.本文将从创建单机的 Docke ...

  2. ubuntu docker方式部署docker registry v2

    生成自己签名的证书 生成签名的过程需要根据提示输入一些参数,需要注意的时Common Name的时候需要输入一个自己需要的域名,如果时内部域名记得访问的时候需要修改hosts. mkdir /data ...

  3. 部署 Docker Registry 并配置认证登录

    文章目录 搭建 Docker Registry 创建本地映射目录 启动 Docker Registry 配置 Docker Registry 配置 Docker Registry 认证 启动带认证的 ...

  4. Docker——Registry 通过Shell管理私有仓库镜像

    使用方法: 复制代码保存为 image_registry.sh sh image_registry.sh  -h   #查看帮助 HUB=10.0.29.104:5000 改为自己的地址 #!/bin ...

  5. docker registry ui

    https://hub.docker.com/r/parabuzzle/docker-registry-ui/

  6. Docker registry自签名证书

    权威Registry 获取安全证书有两个办法:互联网认证的CA处获取.自建CA自己给自己签名. 1.从认证CA处获取签名证书,大多数是需要付出一定费用的,近些年也有认证CA提供免费证书,例如Let’s ...

  7. Docker系列08—搭建使用私有docker registry

    本文收录在容器技术学习系列文章总目录 1.了解Docker Registry 1.1 介绍 registry 用于保存docker 镜像,包括镜像的层次结构和元数据. 启动容器时,docker dae ...

  8. Docker入门教程(四)Docker Registry

    Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它 ...

  9. 【云计算】docker registry v2简介

    ubuntu docker方式部署docker registry v2 2016-03-03 17:36 by JackieHan, 4 阅读, 0 评论, 收藏,  编辑 生成自己签名的证书 生成签 ...

  10. Docker系列06—基于容器制作镜像并上传到Docker Registry

    本文收录在容器技术学习系列文章总目录 1.制作镜像 1.1 镜像的生成途径 基于容器制作 dockerfile,docker build 本篇主要详细讲解基于容器制作镜像:基于dockerfile 制 ...

随机推荐

  1. docker容器中启动tomcat应用

    Dockerfile FROM tomcat:8.5.46-jdk8-openjdk-slim COPY ecs-console.war /usr/local/tomcat/webapps/ ENV ...

  2. MySQL数据的导入

    我们在帖子MySQL数据的导出 - brucexia - 博客园 (cnblogs.com)中讲了MySQL数据的导出,本文讲讲解MySQL数据的导入. MySQL数据的导入包括使用LOAD DATA ...

  3. 基于 KubeKey 扩容 Kubernetes v1.24 Worker 节点实战

    前言 知识点 定级:入门级 KubeKey 扩容 Worker 节点 openEuler 操作系统的基本配置 Kubernets 基本命令 实战服务器配置(架构 1:1 复刻小规模生产环境,配置略有不 ...

  4. 彻底搞懂ScheduledThreadPoolExecutor

    前言 项目中经常会遇到一些非分布式的调度任务,需要在未来的某个时刻周期性执行.实现这样的功能,我们有多种方式可以选择: Timer类, jdk1.3引入,不推荐. 它所有任务都是串行执行的,同一时间只 ...

  5. Python面相对象的编程

    文章目录 1.基本概念 2.常用方法及代码实现 1.基本概念 Python的面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它使用"对象&q ...

  6. OpenSSH9.3p1升级实践

    安装Telnet服务 为了避免升级OpenSSH导致服务器不可连接.需要先下载安装Telnet组件.升级期间使用Telnet作为升级期间的服务器连接方式. 先查询telnet是否安装 rpm -qa ...

  7. DCDC电路设计之FB引脚布线

    该随笔从与非网上搬运,原文: 案例讲解,DCDC电源反馈路径的布线规则 下面为正文内容: 在本文中,将对用来将输出信号反馈给电源ic的FB引脚的布线进行说明. 反馈路径的布线 反馈信号的布线在信号布线 ...

  8. 利用 Screen 保持 VSCode 连接远程任务持续运行

    在 Linux 上使用 screen 是一种保持进程持续运行的便捷方式,即使用户断开 SSH 连接,进程也不会中断. 我在使用VSCode连接AutoDL时,不知道如何能够使进程保持运行,后查阅资料可 ...

  9. 强行修改 User-Agent, 访问对应的端

    location /{ proxy_pass http://localhost:18080; proxy_set_header User-Agent "Mozilla/5.0 (Window ...

  10. 从0搭建一个FIFO模块-01(基础知识)

    1. FIFO介绍 基本概念 FIFO(First In, First Out)是一种常用的数据结构,用于存储和处理数据.它的工作原理与排队的顺序类似,遵循"先进先出"的原则.即, ...