• 【转】Docker命令-docker pull


    docker pull

    原文

    描述

    从镜像仓库拉取镜像。

    使用

    $ docker pull [options] name[:tag|@digest] 
    

    name 镜像名称后面可以跟上镜像标签或者镜像摘要,这些可以在接下来的内容中讲解。

    选项

    名称默认描述
    --all-tags, a   下载仓库所有镜像
    --disable-content-trust true 跳过镜像校验
    --platform   设置镜像所属平台, 如果有多个镜像服务.

    父明令

    命令描述
    docker The base command for the Docker CLI.

    详细描述

    你所使用的大多数镜像都是基于Docker Hub上的基础镜像制作的。

    Docker Hub上有很多预先构建好的镜像,你可以pull并使用它们,而不需要自己去定义和配置自己的镜像。

    如想要下载一个或多个镜像就用docker pull.

    代理配置

    如果您的项目处于一些企业服务器中,您可能需要使用环境变量:HTTP_PROXY, HTTPS_PROXY, and NO_PROXY

    设置Docker守护进程的服务代理。可以通过systemd来设置这些环境变量,参考:systemd config

    并行下载(多线程下载?)

    默认情况下,Docker守护程序将一次拉出三层镜像。 如果您的带宽比较低,可能会导致超时问题。您可以通过选项--max-concurrent-downloads来提高下载速度。 有关更多详细信息请参考:docker daemon

    使用示例

    从docker hub拉取镜像

    拉取一个或多个镜像使用docker pull,如果没有指定镜像标签,docker默认使用:latest,下面的示例命令就会拉取最新的镜像文件,等同于:docker pull debian:latest

    $ docker pull debian
    
    Using default tag: latest
    latest: Pulling from library/debian
    fdd5d7827f33: Pull complete
    a3ed95caeb02: Pull complete
    Digest: sha256:e7d38b3517548a1c71e41bffe9c8ae6d6d29546ce46bf62159837aad072c90aa
    Status: Downloaded newer image for debian:latest
    

    docker镜像基本都是由多层组成(分层存储),上面的镜像文件就是由两层构成:fdd5d7827f33a3ed95caeb02.

    每一层都可以被不同镜像共同使用,例如下面这个镜像debian:jessie就是与上述debian:latest共用两个相同的镜像层。在拉取debian:jessie的时候只会拉取其自身的一些元数据信息,而不会再去拉取镜像分层信息,因为在本地已经存在了这两个镜像层。

    $ docker pull debian:jessie
    
    jessie: Pulling from library/debian
    fdd5d7827f33: Already exists
    a3ed95caeb02: Already exists
    Digest: sha256:a9c958be96d7d40df920e7041608f2f017af81800ca5ad23e327bc402626b58e
    Status: Downloaded newer image for debian:jessie
    

    接下来可以通过docker images查看本地已存在的镜像文件:

    $ docker images
    
    REPOSITORY   TAG      IMAGE ID        CREATED      SIZE
    debian       jessie   f50f9524513f    5 days ago   125.1 MB
    debian       latest   f50f9524513f    5 days ago   125.1 MB
    

    docker使用内存寻址方式来存储镜像文件,镜像文件ID是通过SHA256摘要方式包含其配置和镜像层,上述例子中debian:jessie and debian:latest具有相同的ID是因为他们使用了相同的镜像,只是打了不同的标签而已。因为他们使用的是相同的镜像文件,他们的镜像层只会存储一次,且不会占用额外内存空间。

    更多关于镜像层存储的问题可参考:storage driver

    通过镜像摘要拉取镜像(不可变的身份标识)

    目前为止我们都是通过镜像名称或者加标签的方式拉取镜像文件,显然这是一种很方便的拉取镜像的方式。如果使用了标签拉取,当你再次使用docker pull的时候可以确保你能拉取到最新的镜像文件。例如:docker pull ubuntu:14.04便可以拉取最新的Ubuntu 14.04镜像。

    有时候你可能并不想获取最新的镜像文件,而是使用一个固定版本的镜像文件。docker提供了一种通过摘要digest拉取镜像的方式,这种方式你可以明确的指定镜像的版本号。这样你可以获得一个固定版本的镜像文件。并且确保你每次使用的时候都是同一个镜像文件。

    想要获取镜像的摘要,需要先pull下一个镜像文件,例如:

    $ docker pull ubuntu:14.04
    
    14.04: Pulling from library/ubuntu
    5a132a7e7af1: Pull complete
    fd2731e4c50c: Pull complete
    28a2f68d1120: Pull complete
    a3ed95caeb02: Pull complete
    Digest: sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2
    Status: Downloaded newer image for ubuntu:14.04
    

    docker已经帮我们打印出了该镜像的摘要:

    sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2
    

    当你push一个镜像到某个仓库的时候,docker也会打印出其摘要信息,这样在你push完成之后便可以得到该镜像的最新版本摘要信息。

    通过摘要方式拉取镜像:(只需要将摘要替换掉镜像标签tag即可)

    $ docker pull ubuntu

    摘要拉取方式也可以在Dockerfile FROM 中使用,例如:

    FROM ubuntu@sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2
    MAINTAINER some maintainer <maintainer@example.com>
    

    注意:如果使用了这样的固定版本方式,docker便不会拉取最新的镜像文件,这样可能导致一些安全问题,如果你想拉取最新的镜像那么你需要修改去修改摘要

    从不同的仓库拉取镜像

    默认情况下docker pull会从docker hub拉取镜像文件,也可以手动指定一个仓库地址拉取镜像。假如你设置了一个本地仓库地址,那么你只要指定这个地址拉取镜像即可。仓库地址类似一个URL,但是没有协议头http://

    例如从一个镜像地址:myregistry.local:5000,拉取镜像文件:testing/test-image

    $ docker pull myregistry.local:5000/testing/test-image
    

    docker仓库地址凭证由docker login管理。

    docker与各个仓库地址默认以https://来通信,除非该仓库地址允许以不安全的链接方式访问,更多信息请参考docker-insecure-registries

    同时拉取多个镜像文件

    docker默认只会拉取一个镜像文件。一个镜像仓库可以包含多个镜像文件,如果想拉取多个镜像可以使用参数-a或者--all-tags

    例如下面这个便会拉取所有的镜像文件fedora

    $ docker pull --all-tags fedora
    
    Pulling repository fedora
    ad57ef8d78d7: Download complete
    105182bb5e8b: Download complete
    511136ea3c5a: Download complete
    73bd853d2ea5: Download complete
    ....
    
    Status: Downloaded newer image for fedora
    

    取消拉取镜像文件

    ctrl + c 即可。

    $ docker pull fedora
    
    Using default tag: latest
    latest: Pulling from library/fedora
    a3ed95caeb02: Pulling fs layer
    236608c7b546: Pulling fs layer
    ^C
    

    注意:如果docker在拉取镜像文件的时候连接失败了也会终止拉取操作。

     
     
    3人点赞
     
    docker
     

    from:https://www.jianshu.com/p/f0c6302e869e

  • 相关阅读:
    经典排序算法--快速排序
    经典排序算法——希尔排序
    经典排序算法——插入排序
    经典排序算法——选择排序
    经典排序算法——冒泡排序
    java递归求八皇后问题解法
    学习当前流行框架,同时也要自己去造建议的框架
    如何提高服务器并发处理能力
    数据的校验和空指针
    编写程序流程
  • 原文地址:https://www.cnblogs.com/xuan52rock/p/12485480.html
Copyright © 2020-2023  润新知