2023-08-24:Docker仓库

学习自:05 仓库访问:怎样搭建属于你的私有仓库?

1、仓库

仓库(Repository)是存储分发Docker镜像的地方。

Docker Hub的命名来自于GitHub,后者是我们常用的代码存储、分发的地方。

Registry(注册服务器)与Repository(仓库)

  • Registry是存放仓库的实际服务器,Repository是一个具体的项目或者目录;
  • 一个服务器中可以有多个仓库,一个仓库中可以有多个镜像。

例如某个镜像地址是docker.io/centos,这里的docker.io注册服务器centos仓库名。它们之间的关系如下图:

仓库有公共镜像仓库、私有镜像仓库之分。

2、公共镜像仓库

一般是Docker官方或者其他第三方组织(阿里云、腾讯云、网易云等)提供的,允许所有人注册和使用的镜像仓库

Docker Hub是全球最大的镜像市场,这些镜像主要来自软件提供商、开源组织、社区。大部分的OS、软件镜像都可以直接在Docker Hub下载并使用。

创建仓库

首先要有一个Docker Hub账号,之后点击Create Repository,新建一个仓库用于推送镜像:

这里展示了在账号lagoudocker中,创建了一个名为busybox的仓库,创建好仓库后我们就能推送本地镜像到这个仓库了

过程:

拉取bushybox镜像

docker pull busybox

登录

在推送(上传)镜像之前,我们要先用docker login登录一下镜像服务器,因为只有登录的用户才能推送镜像到仓库:

docker login

Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: lagoudocker
Password:
Login Succeeded  

使用docker login命令登录镜像服务器,这时Docker会要求我们输入用户名和密码,输入刚刚登录Docker Hub时的账号密码,看到Login Succeeded表示登录成功。登录成功后就能推送镜像到自己创建的仓库了。

补充

docker login会默认请求Docker Hub,如果你想登录第三方镜像仓库或者自建的镜像仓库,在docker login后加上注册服务器即可。例如我们想登录阿里云镜像服务器,则用docker login registry.cn-beijing.aliyuncs.com,输入阿里云镜像服务的用户名密码即可。

重命名镜像

在本地镜像推送到自定义仓库前,我们要把镜像“重命名”以下,才能正确推送到自己创建的镜像仓库中:

docker tag busybox lagoudocker/busybox  

推送

镜像重命名之后,再用docker push就能推送镜像到自己创建的仓库中了。

docker push lagoudocker/busybox  

之后,busybox这个镜像就被推送到自定义的镜像仓库了。这里我们也可以新建其他的镜像仓库,然后把自己构建的镜像推送到仓库中。

有时,出于安全/保密的需求,我们可能需要构建一个私有的镜像仓库。

3、搭建私有仓库

具体可去05 仓库访问:怎样搭建属于你的私有仓库?自行查看。

 

posted @ 2023-08-24 16:01  ShineLe  阅读(116)  评论(0)    收藏  举报