高效容器化技术(3)---docker镜像仓库

1.镜像仓库

        Docker镜像仓库是存储和管理Docker镜像的地方。它允许用户上传、下载和共享Docker镜像,从而方便在不同的主机上部署和运行应用程序。

常见的Docker镜像仓库包括:

  1. Docker Hub:官方的Docker镜像仓库,包含了大量的公共镜像供用户使用。
  2. Docker Registry:Docker官方提供的镜像仓库服务,可通过在本地搭建私有仓库实现镜像的存储和共享。
  3. Harbor:由VMware开源的容器镜像仓库。提供了镜像的存储、复制、标签等功能,并支持多租户和安全管理。
  4. Quay:由CoreOS开发的容器镜像仓库,提供了可靠的镜像构建、存储和分发功能,并支持私有和公共仓库。
  5. Alibaba Cloud Container Registry:阿里云提供的容器镜像仓库服务,支持镜像的存储、共享和部署。
  6. Google Container Registry:谷歌云提供的容器镜像仓库服务,支持镜像的存储和分享,并与Google Cloud Platform集成。

        在使用Docker时,可以选择使用公共镜像仓库,也可以搭建私有仓库来存储和管理自己的镜像。

1.仓库的分类

        Docker镜像仓库根据其分类和工作机制可以分为以下几类:

  1. 公共仓库:

    • Docker Hub:Docker官方提供的公共仓库,包含了大量的官方和社区维护的公共镜像,用户可以自由下载和使用。
    • 其他公共仓库:除了Docker Hub之外,还有一些其他的公共仓库,例如Quay和Alibaba Cloud Container Registry等,也提供了大量的公共镜像供用户使用。
  2. 私有仓库:

    • Docker Registry:Docker官方提供的镜像仓库服务,用户可以在本地搭建私有仓库,用于存储和共享自己的镜像。
    • Harbor:由VMware开源的容器镜像仓库,支持搭建私有仓库,并提供了多租户和安全管理功能。
    • 其他私有仓库:还有一些其他的私有仓库可以选择使用,例如Nexus Repository和JFrog Artifactory等。

2.仓库相关命令

        以下是一些常用的Docker镜像仓库相关命令:

        登录到镜像仓库:

docker login
  • 该命令用于登录到指定的镜像仓库,需要提供用户名和密码。

        登出镜像仓库:

docker logout
  • 该命令用于登出当前登录的镜像仓库。

        搜索镜像:

docker search <镜像名>
  • 该命令用于在镜像仓库中搜索指定名称的镜像。

        下载镜像:

扫描二维码关注公众号,回复: 17491201 查看本文章
docker pull <镜像名>:<标签>
  • 该命令用于从镜像仓库中下载指定名称和标签的镜像。

        上传镜像:

docker push <镜像名>:<标签>
  • 该命令用于将本地构建的镜像上传到镜像仓库中。

        删除镜像:

docker rmi <镜像名>:<标签>
  • 该命令用于删除本地已有的镜像,包括从镜像仓库中下载的镜像和通过构建Dockerfile生成的镜像。

        查看镜像详情:

docker image inspect <镜像名>:<标签>
  • 该命令用于查看指定镜像的详细信息,包括标签、大小、创建时间等。

        列出已下载的镜像:

docker image ls
  • 该命令用于列出本地已下载的镜像列表。

        列出私有仓库中的镜像:

docker search <私有仓库地址>/<镜像名>
  • 该命令用于搜索指定私有仓库中的镜像列表。

        删除私有仓库中的镜像:

docker rmi <私有仓库地址>/<镜像名>:<标签>
  • 该命令用于删除私有仓库中的指定镜像。

1.docker pull

        docker pull语法如下:

docker pull [选项] <镜像名>[:<标签>]

        其中,<镜像名>指定要下载的镜像的名称,<标签>指定要下载的镜像的版本标签。

        常用的选项包括:

  • -a, --all-tags:下载指定镜像名的所有标签的镜像。
  • --disable-content-trust:禁用镜像内容信任,默认情况下Docker将验证拉取的镜像的内容是否经过签名。
  • --platform:指定平台架构,用于多平台镜像的下载。
  • 下载指定名称的镜像:

    docker pull ubuntu
    
  • 下载指定名称和标签的镜像:

    docker pull ubuntu:latest
    
  • 下载指定名称的所有标签的镜像:

    docker pull --all-tags ubuntu
    
  • 下载指定平台架构的镜像:

    docker pull --platform linux/amd64 ubuntu
    

2.docker search

        docker search语法如下:

docker search [选项] <关键字>

        其中,<关键字>指定要搜索的镜像关键字。

        常用的选项包括:

  • --filter, -f:按指定的过滤条件进行搜索,如"is-official=true"仅搜索官方镜像,"stars=3"仅搜索星级为3的镜像。
  • --limit:指定搜索结果的数量限制,默认为25。
  • --no-trunc:不截断搜索结果的描述。
  • --format:指定输出结果的格式。
  • 搜索包含关键字的镜像:

    docker search ubuntu
    
  • 搜索官方镜像:

    docker search --filter "is-official=true"
    
  • 搜索星级为3的镜像:

    docker search --filter "stars=3"
    
  • 指定输出结果的数量限制:

    docker search --limit 10 ubuntu
    
  • 指定输出结果的格式:

    docker search --format "table {
         
         {.Name}}\t{
         
         {.Description}}\t{
         
         {.Stars}}" ubuntu
    

  3.docker tag

  docker tag命令用于给镜像打标签,即为已有的镜像添加一个新的标签。

  docker tag命令的语法如下:

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

其中:

  • SOURCE_IMAGE是源镜像的名称或ID。
  • TARGET_IMAGE是目标镜像的名称或ID。
  • TAG是可选项,用于指定镜像的标签,默认为latest

示例使用方式:

docker tag myimage:latest myregistry/myimage:1.0

        上述命令将名为myimage的镜像的最新标签latest打上了一个名为myregistry/myimage的新标签1.0

        通过docker images命令可以查看到添加了新标签的镜像。

猜你喜欢

转载自blog.csdn.net/lys20221113242/article/details/143061128