Skip to content

docker pull

从仓库拉取镜像或仓库。

使用方法

sh
docker pull [OPTIONS] NAME[:TAG|@DIGEST]

描述

docker pull 命令从仓库下载镜像。如果不指定标签,默认拉取 latest 标签。可以从 Docker Hub、私有仓库或其他支持的仓库拉取。

提示

拉取镜像时,Docker 会下载镜像的所有层。如果本地已存在相同的层,则不会重复下载。

基本示例

sh
# 拉取最新版本
docker pull nginx

# 拉取指定版本
docker pull nginx:1.25.3

# 拉取指定架构
docker pull --platform linux/amd64 nginx

# 拉取所有标签
docker pull -a nginx

# 从私有仓库拉取
docker pull registry.example.com/myapp:latest

选项说明

参数简写类型默认值描述
--all-tags-aboolfalse拉取仓库的所有标签
--platform-string-设置平台(例如:linux/amd64, linux/arm64
--quiet-qboolfalse抑制输出
--disable-content-trust-booltrue跳过镜像验证(默认启用)

常用组合示例

基本拉取

sh
# 拉取最新版本
docker pull nginx

# 拉取指定版本
docker pull nginx:1.25.3

# 拉取指定架构
docker pull --platform linux/arm64 nginx:latest

从私有仓库拉取

sh
# 从私有仓库拉取(需要先登录)
docker login registry.example.com
docker pull registry.example.com/myapp:latest

# 从 GitHub Container Registry 拉取
docker pull ghcr.io/username/repo:tag

拉取所有标签

sh
# 拉取仓库的所有标签(谨慎使用,可能很大)
docker pull -a nginx

使用摘要拉取

sh
# 通过摘要拉取(确保拉取特定版本)
docker pull nginx@sha256:abc123...

镜像命名规范

镜像名称格式:[registry/][namespace/]name[:tag]

  • registry - 仓库地址(默认:docker.io
  • namespace - 命名空间(Docker Hub 上的用户名或组织名)
  • name - 镜像名称
  • tag - 标签(默认:latest

示例

sh
# Docker Hub 官方镜像
docker pull nginx
# 等同于:docker pull docker.io/library/nginx:latest

# Docker Hub 用户镜像
docker pull username/myapp:1.0.0

# 私有仓库
docker pull registry.example.com/project/app:v1.0.0

拉取进度

Docker 会显示拉取进度,包括:

  • 各层的下载进度
  • 下载速度
  • 总大小

使用 -q 选项可以抑制输出:

sh
docker pull -q nginx

认证

从私有仓库拉取需要先登录:

sh
# 登录 Docker Hub
docker login

# 登录私有仓库
docker login registry.example.com

# 退出登录
docker logout

相关命令

BSFC Tech Pro Tip

在生产环境中,建议始终指定具体的标签而不是使用 latest,以确保部署的一致性。同时,使用摘要(digest)可以确保拉取完全相同的镜像版本。

由 BSFC Tech 提供技术支持