Docker pull拉取镜像命令的入门教程

1. 基础概念

Docker镜像 是构建容器的只读模板,存储在仓库(如Docker Hub)中。docker pull用于从仓库下载镜像到本地。

2. 命令语法

bash 复制代码
docker pull [选项] <镜像名:标签>
  • 镜像名 :格式为[仓库地址/]命名空间/镜像名(默认仓库为Docker Hub)
  • 标签 :指定版本(如latest, 1.0.0),默认latest

3. 基础操作

拉取官方镜像
bash 复制代码
docker pull nginx  # 等价于 docker pull library/nginx:latest
拉取指定版本
bash 复制代码
docker pull nginx:1.25.3
拉取私有仓库镜像
bash 复制代码
# 登录私有仓库
docker login registry.example.com

# 拉取镜像
docker pull registry.example.com/myapp:v2

4. 高级用法

多架构镜像
bash 复制代码
# 拉取支持多种架构的镜像(如amd64/arm64)
docker pull --platform linux/amd64 nginx:latest
禁用缓存
bash 复制代码
docker pull --disable-content-trust=false nginx  # 强制校验镜像签名
进度条控制
bash 复制代码
docker pull --quiet nginx  # 静默模式

5. 验证镜像

bash 复制代码
# 查看本地镜像列表
docker images

# 检查镜像详细信息
docker inspect nginx:latest

6. 常见问题

问题1:镜像拉取失败
log 复制代码
Error response from daemon: manifest for nginx:latest not found

解决方案

  • 检查镜像名拼写
  • 尝试指定完整路径:docker pull library/nginx
  • 清除本地缓存:docker system prune -a
问题2:权限不足
log 复制代码
Error response from daemon: Get https://registry.example.com/v2/: unauthorized

解决方案

bash 复制代码
docker login registry.example.com
# 或使用--username参数
docker pull --username=yourname registry.example.com/myapp
问题3:网络超时
log 复制代码
Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout

解决方案

  • 配置镜像加速器(如阿里云):

    json 复制代码
    {
      "registry-mirrors": ["https://<你的ID>.mirror.aliyuncs.com"]
    }

    保存至/etc/docker/daemon.json后重启服务:

    bash 复制代码
    sudo systemctl restart docker

7. 最佳实践

  1. 明确指定标签 :避免使用latest标签,改用语义化版本(如v1.2.3

  2. 定期清理无用镜像

    bash 复制代码
    docker image prune -a  # 删除未使用的镜像
  3. 使用镜像扫描

    bash 复制代码
    docker scan nginx:latest  # 检查漏洞

8. 示例流程

bash 复制代码
# 1. 搜索可用镜像
docker search nginx

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

# 3. 验证镜像
docker images | grep nginx

# 4. 运行容器测试
docker run -d --name web nginx:1.25.3
相关推荐
To_OC1 小时前
跑了3个Docker容器后,我终于搞懂镜像和容器到底啥关系
后端·docker·容器
JoyCong19984 小时前
ToDesk个人版、专业版、游戏版、设计版、性能版、团队版权益介绍
大数据·运维·游戏·远程工作·远程操作
tryCbest5 小时前
Docker 从零到精通:知识与跨平台使用指南
docker·容器
Elastic 中国社区官方博客5 小时前
ES95:面向 Elasticsearch 时间序列指标的自适应压缩
大数据·运维·elasticsearch·搜索引擎·架构·全文检索
mqiqe6 小时前
AgentScope Java 2.0 Agent 状态存储(AgentStateStore)深度解析:构建可恢复、可扩展的智能体运行时
java·运维·网络
mennekes7 小时前
数据中心安全配电设备如何选择?
运维·人工智能·科技·安全·制造
开始学AI8 小时前
Codex2API Docker 使用宿主机代理:OAuth Token 兑换 403 问题排查与解决方案
运维·docker·容器
晨枫阳8 小时前
@changesets/cli是什么?哪些情况下需要使用?怎么使用
linux·运维·ubuntu
做前端的娜娜子8 小时前
Docker 常用命令全梳理:从镜像拉取到容器编排
docker·容器·掘金·金石计划
天远Date Lab9 小时前
零信任架构实战:基于天远行驶证核查构建自动化车队准入网关
运维·人工智能·架构·自动化