1.什么是仓库

Docker仓库是用来包含镜像的位置,Docker提供一个注册服务器(register)来保存这个仓库,每个仓库又可以包含多个具备不同tag的镜像.
Docker运行中使用的默认仓库是 Docker Hub 公共仓库

2.Docker Hub

docker hub是docker公司维护的公共仓库,用户可以免费使用,也可以购买私有仓库。

(1)首先在https://cloud.docker.com/网站注册一个账号

(2)在docker主机上登录:

docker login     //登陆
username:ylz
password:westos
docker logout       //退出

认证信息文件:cat ~/.docker/config.json

(3)docker hub为了区分不同用户的同名镜像,要求镜像的格式是:

 ylz/nginx:latest

注:转化标签 docker tag nginx:latest ylz/nginx:latest

(4)在docker hub 上新建一个仓,与上传的镜像同名nginx

(5)上传镜像到docker hub:

   docker push ylz/nginx:latest

(6)拉取:
删除本地镜像,试一下下载:docker rmi ylz/nginx:latest

docker pull  ylz/nginx  //默认latest

3.registry工作原理

index服务主要提供镜像索引以及用户认证的功能。当下载一个镜像的时候,首先会去index服务上做认证,然后查找镜像所在的registry的地址并放回给docker客户端,docker客户端再从registry下载镜像,在下载过程中 registry会去index校验客户端token的合法性,不同镜像可以保存在不同的registry服务上,其索引信息都放在index服务上。

Docker Registry有三个角色,分别是index、registry和registry client
index: 负责并维护有关用户帐户、镜像的校验以及公共命名空间的信息。
Web UI
元数据存储
认证服务
符号化
registry:
是镜像和图表的仓库,它不具有本地数据库以及不提供用户认证,
通过Index Auth service的Token的方式进行认证。
Registry Client:
Docker充当registry客户端来维护推送和拉取,以及客户端的授权。

(1)用户要获取并下载镜像:

用户发送请求到index来下载镜像。
index 响应返回三个相关部分信息该镜像位于的registry该镜像包括所有层的校验以授权目的Token
用户通过响应中返回的Token和registry沟通,registry全权负责镜像,它存储基本的镜像和继承的层。
registry现在要与index证实该token是被授权的。
index会发送“true” 或者 “false”给registry,由此允许用户下载所需要的镜像。

(2)用户要推送镜像到registry中

用户发送带证书请求到index要求分配库名。
在成功认证,命名空间可用以及库名被分配之后。index响应返回临时的token。
镜像连带token,一起被推送到registry中。
registry与index证实token,然后在index验证之后开始读取推送流。
该index然后更新由Docker生成的镜像校验。

(3)用户要从index或registry中删除镜像

ndex接收来自Docker一个删除库的信号。
如果index验证库成功,它将删除该库,并返回一个临时token。
registry现在接收到带有该token的删除信号。
registry与index核实该token,然后删除库以及所有相关信息。
Docker现在通知有关删除的index,然后index移除库的所有记录。

4.配置镜像加速器–阿里云

(1)注册帐号
网址:https://hqvrj503.mirror.aliyuncs.com
产品分类、云计算基础、容器镜像服务、镜像加速器

(2)编辑配置文件

vim /etc/docker/daemon.json
{"registry-mirrors": ["https://hqvrj503.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker

(3)拉取镜像

[root@server5 ~]# docker pull httpd
Using default tag: latest
latest: Pulling from library/httpd
f5d23c7fed46: Already exists
b083c5fd185b: Pull complete
bf5100a89e78: Pull complete
98f47fcaa52f: Pull complete
622a9dd8cfed: Pull complete
Digest: sha256:dc4c86bc90593c6e4c5b06872a7a363fc7d4eec99c5d6bfac881f7371adcb2c4
Status: Downloaded newer image for httpd:latest删除所有镜像:docker image rm `docker images`

5.搭建私有仓库

(1)下载registry–官方已作为镜像分发

docker search registry
docker pull registry

(2)运行registry

docker run -d --name registry -p 5000:5000 registry:latestdocker history registry:latest //查看registry信息(端口号.运行前)
docker inspect registry     //查看registry服务信息(运行后)

(3)上传

docker tag nginx:1.16 localhost:5000/nginx:latest    //改标签
docker push localhost:5000/nginx:latest     //上传

(4)查看
方法一:

[root@server5 ~]# curl localhost:5000/v2/_catalog    //查看本地仓库
{"repositories":["nginx"]}

方法二:

docker inspect registry      //查看本地数据目录
cd /var/lib/docker/volumes/1f161214798b544bdffcdf14f2cccd785743316b4328cba900be631ec88b7bba/_data
tree .      //查看

6.为私有仓库添加加密与认证

docker container prune   //清空容器
docker volume ls
docker volume prune //清空卷

(1)生成crt和key

mkdir -p certs   //创建目录存放key
[root@server5 ~]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/westos.org.key -x509 -days 365 -out certs/westos.org.crt
***************************************************
Country Name (2 letter code) [XX]:cn
State or Province Name (full name) []:shaanxi
Locality Name (eg, city) [Default City]:xi'an
Organization Name (eg, company) [Default Company Ltd]:westos
Organizational Unit Name (eg, section) []:linux
Common Name (eg, your name or your server's hostname) []:westos.org
Email Address []:root@westos.org
***************************************************ls certs/    //查看生成crt和key

(2)创建认证 //可以创建多个

mkdir auth
docker run --rm --entrypoint htpasswd registry:latest -Bbn admin westos > auth/htpasswd
docker run --rm --entrypoint htpasswd registry:latest -Bbn ylz redhat >> auth/htpasswd
docker login westos.org //登陆
docker logout           //退出

(3)重建registry

docker run -d \
--restart=always  \
--name registry \
-v /root/certs:/certs \
-e REGISTRY_HTTP_ADDR=0.0.0.0:443 \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/westos.org.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/westos.org.key \
-p 443:443 -v /root/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd  \
registrydocker ps   //查看

(4)拷贝密钥到docker主机

mkdir -p /etc/docker/certs.d/westos.org/
cp /root/certs/westos.org.crt /etc/docker/certs.d/westos.org/ca.crt

(5)测试

docker images
docker tag nginx:latest westos.org/nginx:latest
docker push westos.org/nginx:latest

Docker Hub的搭建、配置网络加速器、私有仓库的搭建以及私有仓库的认证与加密相关推荐

  1. 4.6-4.7 配置网络 4.8-4.9 远程登录 4.10 Linux密钥认证登录Linux

    2019独角兽企业重金招聘Python工程师标准>>> 4.6-4.7 配置网络 配置网络目的: 1)远程登录它 2)可以使用yum安装其它的包 配置网络步骤: 1)执行dhclie ...

  2. linux服务器的搭建配置与应用,linux服务器的搭建与配置

    tftp       :通过tftp能进行文件的传输,适用于给目标机文件下载. nfs      用于实现linux和linux之间实现资源的共享. samba  实现linux和window之间文件 ...

  3. Docker(仓库)——Docker Hub 公共仓库+企业级私有仓库搭建流程

    目录 一.什么是仓库 二.安装配置Docker Hub 三.配置镜像加速器 四.Registry 工作原理 五.CONTENTS 六.搭建私有仓库 一.什么是仓库 什么是仓库? • Docker 仓库 ...

  4. DockerKubernetes ❀ Docker的在线安装、离线安装、配置镜像加速器、配置文件参数详解

    文章目录 1.Docker容器技术简述 2.CentOS 6安装Docker 3.CentOS 7/8安装Docker 3.1 卸载旧版本Docker与其依赖关系 3.2 安装Docker服务 3.2 ...

  5. Docker仓库管理镜像 -- 公共仓库【Docker Hub】和私人仓库【Registry】和【harbor】

    镜像仓库管理 docker仓库,用来管理镜像.主要分为公共仓库和私人仓库.下面介绍了公共仓库Docker Hub.私人仓库Registry和harbor. DockerHUb仓库管理 什么是Docke ...

  6. 【以太坊】搭建测试网络之ubuntu系统安装node.js

    一.前言 在确认了要在本地搭建测试网络之后,那就不管什么私有链方面的东西了.俗话说万事开头难,博主这边了解到,搭建测试网络必须的环境主要是:node,golang,还有以太坊的geth客户端.OK,方 ...

  7. cisco packet tracer配置网络路由

    广州大学 计算机网络实验 配置网络路由 利用packet tracer搭建如图网络 中间是三个路由器,两边各接一台计算机. 首先先把网络搭建出来 1是路由器,2是终端设备,3是连接设备的线缆.左键点击 ...

  8. 基于OpenDaylight和OVSDB搭建VxLAN网络

    1 简介 本文主要介绍基于OpenDaylight子项目OVSDB中的southbound组件来搭建VxLAN网络,包括初始环境搭建和southbound RestConf API调用等.OpenDa ...

  9. Docker Hub使用

    在使用Docker之前,我们先了解一下Docker Hub,进入docker hub官网(https://hub.docker.com/)看看. 我们可以注册属于自己的docker hub账号,然后登 ...

最新文章

  1. C++中string erase函数的使用
  2. vb计算机考试试题及答案,计算机二级考试《VB》操作试题及答案2016
  3. 51Talk乘一带一路之东风,破普惠教育巨浪
  4. 第19天学习Java的笔记-String字符串
  5. 个人专著推荐1:Red Hat Linux 9实务自学手册(含光盘)
  6. HTML MIME Type
  7. IntelliJ IDEA for Mac 中 Java Web Project 默认的工件(Artifacts)输出目录
  8. emacs .emacs_使用Emacs应该做的6件事
  9. python多线程锁_Python多线程互斥锁使用
  10. MFC:VS拖拽多个文件到控件并获取路径
  11. Spring(二十二):Spring 事务
  12. 系统分析师 考试大纲
  13. 【PHP练习】每日词汇,随机产生10个单词,方便备考随时背诵(php+html+css)
  14. photoshop柔光模式原理和案例教程
  15. 麻木的IT公民:293个公司人压力和心理调查
  16. SSL证书以及其验证过程
  17. linux aptana,如何设置内部浏览器的Aptana在Linux上
  18. 《英语语法新思维 基础版1》读书笔记(一)
  19. gsm无线热点数据采集服务器,GSM无线网络优化及WLAN热点分析工具开发
  20. mac怎么用u盘装系统?配备Apple T2 芯片的Mac电脑如何使用U盘装系统?

热门文章

  1. Matplotlib可视化预测双色球
  2. 转自第一财经日报——基亿传媒在中国实验“广告ZARA”
  3. apploc.bat
  4. 几米的漫画<地下佚>的摘录
  5. 软件测试面试中关于线上bug,线上出现bug测试人员怎么办
  6. 浏览器兼容测试---PDF打开
  7. LoadCursor LoadImage
  8. COM原理与应用(潘爱民)带目录书签下载
  9. teamviewer一直验证账户_顶象:App客户端配置验证码的四大应用效果
  10. 线性代数:约当标准型学习笔记