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 | -a | bool | false | 拉取仓库的所有标签 |
--platform | - | string | - | 设置平台(例如:linux/amd64, linux/arm64) |
--quiet | -q | bool | false | 抑制输出 |
--disable-content-trust | - | bool | true | 跳过镜像验证(默认启用) |
常用组合示例
基本拉取
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相关命令
- docker push - 推送镜像
- docker images - 列出镜像
- docker run - 运行容器
- docker build - 构建镜像
BSFC Tech Pro Tip
在生产环境中,建议始终指定具体的标签而不是使用 latest,以确保部署的一致性。同时,使用摘要(digest)可以确保拉取完全相同的镜像版本。