网站建设源码修改,网站开发和网站运营,电子营业执照,wordpress添加作者名字文章目录 Docker Registry什么是Docker Registry 镜像仓库工作机制使用流程实际使用方法仓库的拉取机制 常用的镜像仓库---DockerHub什么是DockerHub私有仓库 镜像仓库命令docker logindocker pulldocker pushdocker searchdocker logout Docker Registry
什么是Docker Regist… 文章目录 Docker Registry什么是Docker Registry 镜像仓库工作机制使用流程实际使用方法仓库的拉取机制 常用的镜像仓库---DockerHub什么是DockerHub私有仓库 镜像仓库命令docker logindocker pulldocker pushdocker searchdocker logout Docker Registry
什么是Docker Registry
Docker Registry的意思是镜像仓库它的功能就是负责存储管理和分发镜像提供了登录认证的能力建立了仓库的索引
在镜像仓库中会管理很多个RegistryRegistry会通过命名来区分每一个Registry都会包含一个或者多个镜像镜像会通过镜像名称和标签来进行区分
整体的示意图如下所示 Registry
Registry的意思要从哪一个镜像仓库中进行拉取镜像通常通过dns和ip地址来确定一个镜像仓库一个Registry中可以存在多个Repository
Repository
Repository可以分为是顶层仓库和用户从库用户仓库的格式是用户名/仓库名而每个仓库又可以包含多个标签每个标签对应一个镜像 Repository就是由某个特定的Docker镜像的所有迭代版本组成的镜像仓库镜像名称就是nametag认证能力就是提供用户登录注册的功能索引就是提供镜像的索引信息方便进行检索
一个容器镜像可以包含有两个部分一个是元数据其实就是由dockerfile构建出来的描述文件这个描述文件会说出这个容器镜像有多少层每一层里面有什么内容它的checksum的这些信息都会记录下来还有最终的可执行文件是在哪个存储数据里面就是一个一个的blob
镜像仓库工作机制
使用流程
通过docker login登录仓库docker pull拉取需要的镜像通过dockerfile或者是commit的方式制作镜像再通过docker push上传到仓库
实际使用方法
Docker Registry中的镜像通常是由开发人员进行制作而后推送到公共或者私有的Registry上进行保存供其他人员使用 仓库的拉取机制
在启动容器时docker daemon会试图从本地获取相关的镜像如果本地镜像不存在就会从Registry中下载该镜像并保存到本地
常用的镜像仓库—DockerHub
什么是DockerHub
DockerHub是Docker提供的托管存储库服务来进行查找容器镜像等功能它具备的功能通常有
注册私有仓库发布镜像提供镜像检索能力提供其他的镜像从github和bitbucket中自动构建容器镜像并推送到DockerHub终会只是webhook也就是一种基于Http的回调函数
私有仓库
下面是私有仓库的概念
私有镜像仓库则是指部署在公司或组织内部用于自身应用 Docker镜像存储、分发的镜像仓库。在构建公司内部使用的自动化发布系统的过程中从安全的角度出发应用的打包镜像一般情况下只会被存储在私有镜像仓库中CI/CD 流程的衔接点也是通过向私有镜像仓库上传镜像和拉取镜像的操作来完成的
镜像仓库命令
常用的镜像仓库命令其实不多这里全部列举出来
docker login用来登录仓库docker pull也叫做docker image pull用来拉取镜像docker push也叫做docker image push用来推送镜像docker search用来查找镜像docker logout用来登出仓库
docker login
基本功能就是登录到一个docker的镜像仓库如果没有指明地址默认使用官方的DockerHub
它这个登录有点像MySQL需要指明用户名和密码比如
docker login -u xxx -p xxxtestVM-24-7-ubuntu:~$ docker login -uzhaobohan
Password:
WARNING! Your password will be stored unencrypted in /home/test/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeededdocker pull
基本功能是从镜像仓库拉取或者更新指定的镜像
基本语法是
docker pull [options] name [:tag|digset]选项有 -a表示拉取所有tagged镜像–disable-content-trust表示忽略镜像的校验默认是开启状态
比如说使用实例如下
docker pull nginx:1.23.3docker push
将本地的镜像上传到镜像仓库和pull用法基本一样
docker push myapache:v1docker search
从DockerHub中查找镜像基本语法选项中包含有
–no-trunc显示完整的镜像描述
-f过滤条件列出收藏数不小于指定值的镜像
比如说可以有下面的语句
docker search -f stars10 nginxtestVM-24-7-ubuntu:~$ sudo docker search -f stars10 nginx
NAME DESCRIPTION STARS OFFICIAL
nginx Official build of Nginx. 19899 [OK]
unit Official build of NGINX Unit: Universal Web … 31 [OK]
nginx/nginx-ingress NGINX and NGINX Plus Ingress Controllers fo… 92
nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 152
nginx/nginx-prometheus-exporter NGINX Prometheus Exporter for NGINX and NGIN… 41
nginx/unit This repository is retired, use the Docker o… 63
nginxproxy/nginx-proxy Automated nginx proxy for Docker containers … 137
nginxproxy/acme-companion Automated ACME SSL certificate generation fo… 134
bitnami/nginx Bitnami container image for NGINX 188
bitnami/nginx-ingress-controller Bitnami container image for NGINX Ingress Co… 34
nginxproxy/docker-gen Generate files from docker container meta-da… 17
ubuntu/nginx Nginx, a high-performance reverse proxy we… 113
rancher/nginx-ingress-controller 13 上述的语句表示的意思是从DockerHub中查找所有镜像包含NGINX并且star数大于10的镜像
docker logout
登出一个Docker镜像仓库如果未指定镜像仓库地址默认是官方的Docker Hub
指令很简单
docker logouttestVM-24-7-ubuntu:~$ docker logout
Removing login credentials for https://index.docker.io/v1/