Docker Registry 是Docker官方一个镜像,可以用来储存和分发Docker镜像。目前比较流行的两个镜像私库是Docker Registry ,HarBor 其中HarBor最合适企业级应用,提供良好的WEB界面进行管理。

Docker Registry搭建

本文主要介绍Docker Registry搭建的方式,官网地址:registry - Official Image | Docker Hub

拉取镜像:

docker pull registry

运行镜像:

 docker run -d -p 5000:5000 --restart always --name registry registry:2

防火墙需要开放5000端口,或者直接关闭防火墙

systemctl status firewalld.service   #查看防火墙状态
systemctl stop firewalld.service #暂停防火墙
systemctl disable firewalld.service #永久关闭防火墙

检查镜像是否运行成功:docker ps,镜像成功之后私库就算搭建成功了。

推送代码

方法一:VS2019发布可以一步直接推送到私库

每次点击发布就会自动推送到私库,相当方便,背后原理和手动推送没有区别,只是VS2019默默地把我们做了工作:创建镜像,给镜像打标签,推送镜像。通过Docker Desktop 工具我们可以查看到本地镜像:

方法二:手动推送

手动推送需要我们先给镜像打标签,然后推送镜像。

docker image tag webapplication4 192.168.3.35:5000/webapplication4:latest
docker push 192.168.3.35:5000/webapplication4:latest

查看己推送的镜像,Docker Registry支持HTTP请求API获取相关数据,最好是搭建WEB可视化界面管理,下文有讲到。

注意事项:docker 默认要求HTTPS连接,如果私库不搭建HTTPS,那么客户端就需要配置docker的配置文件添加信任源。服务器端(即docker私库)不需要配置。

{
"insecure-registries":["192.168.3.35:5000"]
}

Htpasswd

一般情况下Docker Registry是充许自由访问,作为公司或个人私库自然是需要进行安全设置,我们可以通过htpasswd实现登陆限制。

安装htpasswd

yum -y install httpd

在宿主机上创建文件夹来储存htpasswd的账号或密码

mkdir /usr/local/auth

生成密码

htpasswd -Bbn admin 123456 > /usr/local/auth/passwd

需要重启容器,配置htpasswd

docker run
-p 5000:5000
--restart=always
--name registry
-v /usr/local/auth:/auth
-e REGISTRY_AUTH=htpasswd
-e REGISTRY_AUTH_HTPASSWD_REALM=Registry_Realm
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/passwd
-d registry:2

重新请求API接口时,己提示需要认证。

搭建可视化WEB界面

私库可以通过API进行交互,这样交互会很麻烦,提供可视化界面会比较容易管理一些,docker-registry-browser 管理界面提供一些基础功能,简单易用。

dokcer Hub地址:klausmeyer/docker-registry-browser - Docker Image | Docker Hub

gitHub地址:docker-registry-browser/README.md at master · klausmeyer/docker-registry-browser · GitHub

在私库服务器运行镜像:

docker run
--name registry-browser
-p 8080:8080
--restart=always
--link registry
-e DOCKER_REGISTRY_URL=http://registry:5000/v2
-d klausmeyer/docker-registry-browser

注意事项:docker-registry-browser是镜像,当运行docker-registry-browser的时候会新建一套虚拟环境,所以默认配置下docker-registry-browser是管理不到docker私库。需要特别配置两个参数:

--link registry

-e DOCKER_REGISTRY_URL=http://registry:5000/v2

对应的是私库的容器名称和请求API地址,默认启动之后,访问就提示需要账号,密码。

Docker Registry 私库流程大概如此,感兴趣的朋友关注一下~

docker registry(私库)搭建,使用,WEB可视化管理部署的更多相关文章

  1. docker学习(三) 安装docker的web可视化管理工具

    1.docker是一个一款很轻便的应用容器引擎,为了更好的管理和使用docker,使用web可视化管理工具似乎更符合大多数人的需求.在这里,我给大家分享下自己使用过的几款web工具:docker UI ...

  2. docker--docker 的web可视化管理工具

    12 docker 的web可视化管理工具 12.1 常用工具介绍 当 Docker 部署规模逐步变大后,可视化监控容器环境的性能和健康状态将会变得越来越 重要. Docker的图形化管理工具,提供状 ...

  3. Docker version 1.12.5建立registry私库

    sudo docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry :前面的是宿主机的地址(/opt/da ...

  4. 搭建Docker私有仓库&用户密码认证&web可视化界面

    1.拉取镜像 docker pull hyper/docker-registry-web docker pull registry 2.安装 yum install docker-compose 3. ...

  5. maven&nexus_repository 私库搭建与使用

    一.nexus仓库安装 1,http://www.sonatype.org/nexus/    下载sso版本,免费2,tar -zxvf nexus-2.11.1-01-bundle.tar.gz3 ...

  6. Docker学习笔记之搭建 Java Web 项目运行环境

    0x00 概述 Java Web 泛指以 Java 程序为基础向外提供 Web 服务的技术及相关工具,狭义上来说,我们也可以说 Java Web 是由 Servlet 程序提供的 Web 服务. 对我 ...

  7. docker官方镜像库 搭建 jekins

    先去docker hub 镜像官网下载jenkins 镜像(https://hub.docker.com/_/jenkins/): 其实就是在docker 中执行命令:docker pull jenk ...

  8. maevn的nexus私库搭建

    使用nexus搭建maven仓库(本地私服) 前言:我们在使用maven的时候,对于项目所依赖的jar包,maven默认会在中央仓库下载jar包,到本地的磁盘目录(如果没有配置则是用户目录下/.m2/ ...

  9. MongoDB的web可视化管理工具

    现在许多应用都使用MongoDB存储大量的业务数据,MongoDB基于文档式的存储,在大数据行业的应用还是很普遍的.MongoDB的客户端工具也很多,基于web的却不多,国产的就更少了,下面介绍的是一 ...

  10. Docker4-docker私库的搭建及常用方法-docker-registry方式

    一.简单介绍 前面已经介绍,可以使用Docker Hub公共仓库,但是大多数情况企业都需要创建一个本地仓库供自己使用.这里介绍几种搭建私库的方法 私库的好处有几点 1.节约带宽 2.可以自己定制系统 ...

随机推荐

  1. DevOps图示

  2. [算法2-数组与字符串的查找与匹配] (.NET源码学习)

    [算法2-数组与字符串的查找与匹配] (.NET源码学习) 关键词:1. 数组查找(算法)   2. 字符串查找(算法)   3. C#中的String(源码)   4. 特性Attribute 与内 ...

  3. .Net WebApi 中的 FromBody FromForm FromQuery FromHeader FromRoute

    在日常后端Api开发中,我们跟前端的沟通中,通常需要协商好入参的数据类型,和参数是通过什么方式存在于请求中的,是表单(form).请求体(body).地址栏参数(query).还是说通过请求头(hea ...

  4. 洛谷P7960 [NOIP2021] 报数 (筛法)

    禁止报的数的生成规则与埃式筛法类似,考虑用筛法预处理可以报出的数字列表和不可报出的数字,从而 O(1) 回答每一组询问. 用check函数判断数字中是否含有7,用nx[i]记录数字i的下一个合法数. ...

  5. 大数据技术之HBase原理与实战归纳分享-中

    @ 目录 底层原理 Master架构 RegionServer架构 Region/Store/StoreFile/Hfile之间的关系 写流程 写缓存刷写 读流程 文件合并 分区 JAVA API编程 ...

  6. 【NOI2016】 循环之美 题解

    Solution 由数论基础知识 答案即为$$\sum_{i = 1}^n\sum_{j = 1}^m[i \perp j][j \perp k]$$ 莫反套路可化为$$\sum_{d = 1}\mu ...

  7. Ubuntu安装错误 server64 busybox-initramfs安装失败

    因为想试试在Linux系统上爆破 所以安装了一下Ubuntu.第一次安装包报了个server64 busybox-initramfs.在安装系统那边.我一直还以为是我磁盘分配错了. 后来在网上找了资料 ...

  8. 知识图谱-生物信息学-医学顶刊论文(Briefings in Bioinformatics-2021):MPG:一种有效的自我监督框架,用于学习药物分子的全局表示以进行药物发现

    6.(2021.9.14)Briefings-MPG:一种有效的自我监督框架,用于学习药物分子的全局表示以进行药物发现 论文标题:An effective self-supervised framew ...

  9. 五、Python操作redis

    五.Python操作redis 一.python对redis基本操作 (1)连接redis # 方式1 import redis r = redis.Redis(host='127.0.0.1', p ...

  10. 六、模型层(ORM)

    六.模型层(ORM) Django中内嵌了ORM框架,不需要直接编写SQL语句进行数据库操作,而是通过定义模型类,操作模型类来完成对数据库中表的增删改查和创建等操作. O是object,也就类对象的意 ...