当前位置: 首页 > article >正文

Docker 仓库相关操作命令大全及示例

文章目录

  • Docker 仓库操作命令大全
    • 1. 登录 Docker 仓库
      • 命令
      • 参数说明
      • 示例
    • 2. 拉取镜像
      • 命令
      • 参数说明
      • 示例
    • 3. 推送镜像
      • 命令
      • 参数说明
      • 示例
    • 4. 搜索镜像
      • 命令
      • 参数说明
      • 示例
    • 5. 重新打标签(重新标记镜像)
      • 命令
      • 参数说明
      • 示例
    • 6. 查看本地镜像列表
      • 命令
      • 参数说明
      • 示例
    • 7. 删除本地镜像
      • 命令
      • 参数说明
      • 示例
    • 8. 清理未使用的镜像
      • 命令
      • 参数说明
      • 示例
    • 9. 查看镜像详细信息
      • 命令
      • 参数说明
      • 示例
    • 10. 查看镜像历史
      • 命令
      • 参数说明
      • 示例

Docker 仓库操作命令大全

1. 登录 Docker 仓库

命令

docker login [OPTIONS] [SERVER]

参数说明

  • -u, --username:指定登录仓库的用户名。
  • -p, --password:指定登录仓库的密码。
  • --password-stdin:从标准输入读取密码,可提高安全性,避免密码暴露在命令历史中。
  • SERVER:要登录的 Docker 仓库地址,默认是 Docker Hub(https://index.docker.io/v1/)。

示例

  • 登录 Docker Hub 并交互式输入用户名和密码:
docker login
  • 登录 Docker Hub 并指定用户名和密码:
docker login -u your_username -p your_password
  • 登录私有仓库并从标准输入读取密码:
echo "your_password" | docker login -u your_username --password-stdin myprivate-registry.example.com

2. 拉取镜像

命令

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

参数说明

  • -a, --all-tags:拉取指定仓库中所有标签的镜像。
  • --platform:指定要拉取镜像的平台(如 linux/amd64linux/arm64 等)。
  • NAME:镜像的名称,格式为 [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY
  • TAG:镜像的标签,默认为 latest
  • DIGEST:镜像的摘要,可用于精确指定要拉取的镜像版本。

示例

  • 从 Docker Hub 拉取 nginx 镜像的最新版本:
docker pull nginx
  • 拉取 nginx 镜像的特定版本:
docker pull nginx:1.23.3
  • 拉取私有仓库的镜像:
docker pull myprivate-registry.example.com/myapp:v1
  • 拉取指定平台的镜像:
docker pull --platform linux/arm64 nginx
  • 拉取指定仓库所有标签的镜像:
docker pull -a busybox

3. 推送镜像

命令

docker push [OPTIONS] NAME[:TAG]

参数说明

  • --disable-content-trust:禁用内容信任,默认情况下 Docker 会验证镜像的签名。
  • NAME:要推送的镜像名称,格式为 [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY
  • TAG:镜像的标签,默认为 latest

示例

  • 推送本地镜像到 Docker Hub:
# 先给本地镜像打标签
docker tag mylocalimage your_dockerhub_username/myimage:latest
# 然后推送
docker push your_dockerhub_username/myimage:latest
  • 推送镜像到私有仓库:
docker tag mylocalimage myprivate-registry.example.com/myimage:v2
docker push myprivate-registry.example.com/myimage:v2
  • 禁用内容信任进行推送:
docker push --disable-content-trust myprivate-registry.example.com/myimage:v2

4. 搜索镜像

命令

docker search [OPTIONS] TERM

参数说明

  • --filter:过滤搜索结果,支持的过滤器有 is-official(官方镜像)、is-automated(自动构建的镜像)、stars(镜像的星标数)等。
  • --limit:限制搜索结果的数量。
  • TERM:搜索的关键词。

示例

  • 搜索包含 ubuntu 的镜像:
docker search ubuntu
  • 只搜索官方的 ubuntu 镜像:
docker search --filter is-official=true ubuntu
  • 搜索星标数大于 100 的 nginx 镜像,限制结果为 5 条:
docker search --filter stars=100 --limit 5 nginx

5. 重新打标签(重新标记镜像)

命令

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

参数说明

  • SOURCE_IMAGE:源镜像的名称。
  • TAG:源镜像和目标镜像的标签,默认为 latest
  • TARGET_IMAGE:目标镜像的名称,通常用于指定新的仓库和名称。

示例

  • 为本地的 myapp 镜像添加一个新标签 myapp:v1.1
docker tag myapp myapp:v1.1
  • 将本地的 myapp:v1 镜像标记为可推送到 Docker Hub 的格式:
docker tag myapp:v1 your_dockerhub_username/myapp:v1
  • 将本地镜像标记为可推送到私有仓库的格式:
docker tag mylocalimage myprivate-registry.example.com/myimage:prod

6. 查看本地镜像列表

命令

docker images [OPTIONS] [REPOSITORY[:TAG]]

参数说明

  • -a, --all:显示所有镜像,包括中间层镜像。
  • --digests:显示镜像的摘要信息。
  • --no-trunc:不截断输出,显示完整的镜像 ID 等信息。
  • -q, --quiet:只显示镜像的 ID。
  • REPOSITORY:指定要显示的镜像仓库名称。
  • TAG:指定要显示的镜像标签。

示例

  • 列出所有本地镜像:
docker images
  • 列出所有以 nginx 开头的镜像:
docker images nginx*
  • 只列出镜像的 ID:
docker images -q
  • 显示镜像的摘要信息:
docker images --digests

7. 删除本地镜像

命令

docker rmi [OPTIONS] IMAGE [IMAGE...]

参数说明

  • -f, --force:强制删除镜像,即使镜像正在被容器使用。
  • --no-prune:不删除未使用的父镜像。
  • IMAGE:要删除的镜像的名称、标签或 ID。

示例

  • 删除指定标签的 nginx 镜像:
docker rmi nginx:1.23.3
  • 强制删除多个镜像:
docker rmi -f nginx:1.23.3 myapp:v1
  • 删除镜像 ID 对应的镜像:
docker rmi $(docker images -q myapp)

8. 清理未使用的镜像

命令

docker image prune [OPTIONS]

参数说明

  • -a, --all:删除所有未被使用的镜像,包括构建过程中产生的中间层镜像。
  • --filter:过滤要清理的镜像,例如 until(指定时间之前创建的镜像)。

示例

  • 清理所有未被使用的镜像:
docker image prune -a
  • 清理 24 小时之前创建的未使用镜像:
docker image prune --filter "until=24h"

9. 查看镜像详细信息

命令

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

参数说明

  • --format:指定输出格式,使用 Go 模板语法。
  • NAME|ID:镜像的名称或 ID。

示例

  • 查看 nginx 镜像的详细信息:
docker inspect nginx
  • 只输出 nginx 镜像的创建时间:
docker inspect --format='{{.Created}}' nginx

10. 查看镜像历史

命令

docker history [OPTIONS] IMAGE

参数说明

  • --format:指定输出格式,使用 Go 模板语法。
  • --no-trunc:不截断输出。
  • -q, --quiet:只显示镜像层的 ID。
  • IMAGE:镜像的名称或 ID。

示例

  • 查看 nginx 镜像的构建历史:
docker history nginx
  • 只显示 nginx 镜像构建历史的层 ID:
docker history -q nginx
  • 以自定义格式显示 nginx 镜像的构建历史:
docker history --format '{{.ID}}: {{.CreatedBy}}' nginx

关注我,每天带你进步一点


http://www.kler.cn/a/588927.html

相关文章:

  • Flask中使用WTForms处理表单验证
  • 配置blender的python环境
  • Qt 控件概述 QPushButton 与 QRadioButton
  • yarn安装及配置,cmd可以查看yarn版本号但是vscode无法查看且运行问题
  • 【LangChain接入阿里云百炼deepseek】
  • 《Python实战进阶》No21:数据存储:Redis 与 MongoDB 的使用场景
  • UML和MOF在MDA中的作用是什么?
  • Python文字识别OCR
  • Web开发-PHP应用鉴别修复AI算法流量检测PHP.INI通用过滤内置函数
  • Redis系列:深入理解缓存穿透、缓存击穿、缓存雪崩及其解决方案
  • STM32外部中断
  • 小程序网络大文件缓存方案
  • Qt MainWindow简单例子(文本编辑)
  • k8s 修改节点驱逐阈值
  • 笔记:基于springboot+ShardingSphere-jdbc5.0.0的分库分表(偏yml配置)
  • 考研系列-408真题计算机网络篇(18-23)
  • JSON 语法详解
  • 用Embassy库编写的自动化下载程序
  • C++28--特殊类设计
  • 汽车零部件行业研发管理体系化建设:全星研发管理 APQP 软件系统来助力