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. C++自学笔记 面向对象程序设计OOP(Object Oriented Programming)

    什么是对象? Objects = Attributes + Services Data : The properties or status Operations: the fuctions C语言中 ...

  2. BigDecimal 用法总结

    转载请注明出处: 目录 1.BigDecimal 简介 2.构造BigDecimal的对象 3.常用方法总结 4.divide方法使用 5.setScale 方法使用 6.BigDecimal 数据库 ...

  3. 关于TP5模板输出时间戳问题--A non well formed numeric value encountered

    某日.因为一个项目.控制器我是这么写的 1 /** 2 * get admin/Picture/index 3 * 显示所有图册信息 4 * @return view 5 */ 6 public fu ...

  4. Vue学习之--------Vue中过滤器(filters)的使用(代码实现)(2022/7/18)

    1.过滤器 1.1 概念 过滤器: 定义:对要显示的数据进行特定格式化后再显示(适用于一些简单逻辑的处理). 语法: 1.注册过滤器:Vue.filter(name,callback) 或 new V ...

  5. 2流高手速成记(之四):SpringBoot整合redis及mongodb

    最近很忙,好不容易才抽出了时间,咱们接上回 上次我们主要讲了如何通过SpringBoot快速集成mybatis/mybatis-plus,以实现业务交互中的数据持久化,而这一切都是基于关系型数据库(S ...

  6. golang中的字符串

    0.1.索引 https://waterflow.link/articles/1666449874974 1.字符串编码 在go中rune是一个unicode编码点. 我们都知道UTF-8将字符编码为 ...

  7. 完全背包问题 —— 贪心优化 DP 范围

    题意: 现在有 \(2n+1\) 个物品(\(n\le 300\)),体积分别为 \(-n,-n+1,\dots,-1,0,1,\dots,n\),第 \(i\) 个物品有 \(a_i\) 个,求选出 ...

  8. RDD(弹性分布式数据集)及常用算子

    RDD(弹性分布式数据集)及常用算子 RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是 Spark 中最基本的数据 处理模型.代码中是一个抽象类,它代表一个 ...

  9. Java线程未捕获异常处理 UncaughtExceptionHandler

    当一个线程在执行过程中抛出了异常,并且没有进行try..catch,那么这个线程就会终止运行.在Thread类中,提供了两个可以设置线程未捕获异常的全局处理器,我们可以在处理器里做一些工作,例如将异常 ...

  10. Pyside2 开发框架

    apps文件夹 tools文件夹 Main.py .ui .json Global.py Main.py 通用 函数及子线程 函数内容