Docker使用指南(一)——镜像相关操作详解(实战案例教学,适合小白跟学)

devtools/2025/2/7 3:20:09/

目录

1.镜像名的组成

2.镜像操作相关命令

镜像常用命令总结:

1. docker images

2. docker rmi

3. docker pull

4. docker push

5. docker save

6. docker load

7. docker tag

8. docker build

9. docker history

10. docker inspect

11. docker prune

12. docker search


一、Docker基本操作—镜像篇

1.镜像名的组成

镜像名称一般分两部分组成:[repository] : [tag]

在没有指定 tag 时,tag 默认是latest,代表最新版本的镜像 。


    2.镜像操作相关命令

    下面我们用一个案例,来具体实操一下这些命令,方便大家更好的理解:

    案例一:

    从DockerHub中拉取一个nginx镜像并查看

    ① 首先去镜像仓库搜索nginx镜像,比如DockerHub:

    官网:https://hubgw.docker.com/_/nginx 搜索Nginx 然后选择官方发布的镜像

    ② 第二步 在服务器执行命令,拉取镜像

    docker pull nginx  #拉取Nginx镜像

    默认拉取的是最新版本的;

    ③ 第三步 查看刚刚拉取的镜像

    docker images

     

    案例二:

    利用docker save将nginx镜像导出磁盘,然后再通过load加载回来

    ①步骤一:利用 docker xx-help 命令查看 docker save 的语法

    解释:docker save 命令用于将 Docker 镜像保存为 tar 文件。常用于导出镜像,以便备份或传输到其他系统。

    用法:

    docker save [OPTIONS] IMAGE [IMAGE...]
    • 参数说明:IMAGES 需要保存的 Docker 镜像,[IMAGE...]表示可以指定多个镜像。
    • 常用选项 :-o 指定输出文件的路径。若没有指定,默认会将镜像数据输出到标准输出(STDOUT)

    步骤二:使用docker save导出镜像到磁盘

    用法示例:

    1. 保存一个镜像到 tar 文件:

      docker save -o myNginx.tar nginx:latest
    2. 保存多个镜像到一个 tar 文件:

      docker save -o images.tar image1:latest image2:latest

    步骤三:删除已有的nginx镜像

    #通过镜像名称来删除
    docker rmi nginx:latest
    #也可以通过IMAGE ID来删除
    docker rmi 605c77e624dd


    步骤四 使用 docker load 的把 刚刚导出的镜像加载回来

    首先查看使用方式:

    解释:docker load 命令用于从 tar 归档文件或标准输入(STDIN)加载 Docker 镜像。

    选项:

    • -i, --input string:从指定的 tar 归档文件读取,而不是从标准输入(STDIN)读取。

    • -q, --quiet:抑制加载输出,即不显示加载过程中的详细信息。

    然后从 myNginx.tar 中加载镜像

    docker load -i myNginx.tar

    镜像常用命令总结:

    以下是常见的 Docker 镜像操作命令及其功能


    1. docker images

    • 功能:列出本地主机上的所有镜像。
    • 常用选项
      • -a, --all:显示所有镜像(包括中间层镜像)。
      • -q, --quiet:仅显示镜像 ID。
      • --digests:显示镜像的摘要信息。
    • 示例
      docker images
      

    2. docker rmi

    • 功能:删除本地的一个或多个镜像。
    • 常用选项
      • -f, --force:强制删除镜像(即使有容器正在使用该镜像)。
    • 示例
      docker rmi my_image:tag
      docker rmi image_id1 image_id2
      

    3. docker pull

    • 功能:从 Docker 仓库(如 Docker Hub)拉取镜像到本地。
    • 常用选项
      • --platform:指定镜像的平台(如 linux/amd64)。
      • -a, --all-tags:拉取镜像的所有标签。
    • 示例
      docker pull ubuntu:latest
      

    4. docker push

    • 功能:将本地镜像推送到 Docker 仓库(如 Docker Hub)。
    • 示例
      docker push my_image:tag
      

    5. docker save

    • 功能:将一个或多个镜像保存为 tar 归档文件。
    • 常用选项
      • -o, --output:指定输出文件。
    • 示例
      docker save -o my_image.tar my_image:tag
      

    6. docker load

    • 功能:从 tar 归档文件或标准输入加载镜像到本地。
    • 常用选项
      • -i, --input:指定输入文件。
      • -q, --quiet:静默模式,不显示加载过程。
    • 示例
      docker load -i my_image.tar
      

    7. docker tag

    • 功能:为镜像创建一个新的标签(Tag)。
    • 示例
      docker tag my_image:tag new_image:new_tag
      

    8. docker build

    • 功能:根据 Dockerfile 构建镜像。
    • 常用选项
      • -t, --tag:为构建的镜像指定标签。
      • -f, --file:指定 Dockerfile 文件路径。
    • 示例
      docker build -t my_image:tag .
      

    9. docker history

    • 功能:查看镜像的构建历史记录。
    • 示例
      docker history my_image:tag
      

    10. docker inspect

    • 功能:查看镜像的详细信息(元数据)。
    • 示例
      docker inspect my_image:tag
      

    11. docker prune

    • 功能:清理未使用的镜像。
    • 常用选项
      • -a, --all:删除所有未使用的镜像,而不仅仅是悬空镜像。
    • 示例
      docker image prune -a
      

    12. docker search

    • 功能:从 Docker Hub 搜索镜像。
    • 常用选项
      • --limit:限制搜索结果的数量。
      • --filter:根据条件过滤搜索结果。
    • 示例
      docker search ubuntu
      

    总结

    Docker 镜像操作涵盖了镜像的拉取、推送、构建、删除、保存、加载、查看和管理等功能。掌握这些命令可以帮助你高效地管理和使用 Docker 镜像。


    http://www.ppmy.cn/devtools/156695.html

    相关文章

    python多版本管理工具之pyenv

    pyenv 是一个用于管理多个 Python 版本的工具,允许用户在同一台机器上轻松安装、切换和隔离不同版本的 Python 解释器。它特别适合需要同时处理多个项目的开发者(例如,不同项目依赖不同 Python 版本的情况)。以下是 pyenv 的详细指南: 本文基于Ubuntu 22.04版本进行安装,…

    2024 JAVA面试题

    第一章-Java基础篇 1、你是怎样理解OOP面向对象 面向对象是利于语言对现实事物进行抽象。面向对象具有以下特征: 继承****:****继承是从已有类得到继承信息创建新类的过程 封装:封装是把数据和操作数据的方法绑定起来,对数据的…

    vscode flutter 项目连接 mumu 浏览器

    配置 adb 系统环境变量 系统高级设置 - 环境变量 - 新建系统变量 ANDROID_HOME 变量值为本机 android Sdk 目录地址 ,例如 C:\Users\tangxq\AppData\Local\Android\Sdk 环境变量 - path - 编辑,新建一个值为: %ANDROID_HOME%\platform-tools…

    分布式微服务系统架构第90集:现代化金融核心系统

    #1.1 深化数字化转型,核心面临新挑战 1、架构侧:无法敏捷协同数字金融经营模式转型。 2、需求侧:业务需求传导低效始终困扰金融机构。 3、开发侧:创新产品上市速度低于期望。 4、运维侧:传统面向资源型监控体系难以支撑…

    RabbitMQ:windows最新版本4.0.5安装方案

    前言 正在尝试学习RabbitMQ,因此考虑在windows上装一个最新版本来实验 关于安装,主要需要注意:先装与目标RabbitMQ版本对应的Erlang版本 这是官方给的对应版本兼容图: 我们需要安装4.0.5版本的RabbitMQ,则需要选择26.2…

    【DeepSeek-01】无需 Docker,千元级电脑本地部署 Ollama + DeepSeek-R1:14b + Chatbox

    文章目录 DeepSeek-01:无需 Docker,千元级电脑本地部署 Ollama DeepSeek-R1:14b Chatbox本机环境Ollama 安装步骤1. 下载 Ollama2. 安装3. 初始化配置4. 启动 Ollama 服务 DeepSeek-R1:14b 安装步骤1. 下载deepseek r1 14b模型2. 安装依赖项3. 下载模型…

    【MySQL】常用语句

    目录 1. 数据库操作2. 表操作3. 数据操作(CRUD)4. 高级查询5. 索引管理6. 用户与权限7. 数据导入导出8. 事务控制9. 其他实用语句注意事项 如果这篇文章对你有所帮助,渴望获得你的一个点赞! 1. 数据库操作 创建数据库 CREATE DATA…

    为何 git 默认是 master分支,而github默认是main分支(DeepSeek问答)

    为何 git 默认是 master分支,而github默认是main分支 Git 和 GitHub 在默认分支名称上的差异源于历史背景和社会因素的变化。 Git 的 master 分支 历史原因:Git 由 Linus Torvalds 于 2005 年创建,最初使用 master 作为默认分支名称&#x…