Docker 镜像操作笔记

一、简介

Docker 镜像是容器运行的基础,它包含了容器运行所需的文件系统、应用程序及其依赖。镜像是不可变的,每次修改都会生成一个新的镜像。以下是对 Docker 镜像操作的详细介绍,包括常用的命令及其参数解释。


二、镜像操作

(一)拉取镜像

1. 基本命令
docker pull <镜像名>:<标签>
2. 参数解释
  • docker pull:从远程仓库拉取镜像。

  • <镜像名>:镜像的名称,例如 nginxubuntu

  • <标签>:镜像的版本或变体,例如 latest1.20alpine。如果未指定标签,默认为 latest

3. 示例
docker pull nginx:latest

从 Docker Hub 拉取最新版本的 nginx 镜像。


(二)查看本地镜像

1. 基本命令
docker images
2. 参数解释
  • docker images:列出本地所有镜像。

  • -a:显示所有镜像,包括中间层镜像。

  • --filter:根据条件过滤镜像,例如按标签、仓库等。

  • --format:自定义输出格式。

3. 示例
docker images

输出示例:

REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    1234567890ab   1 week ago      133MB
ubuntu       20.04     0987654321cd   2 months ago    72MB

(三)删除镜像

1. 基本命令
docker rmi <镜像ID或名称>:<标签>
2. 参数解释
  • docker rmi:删除本地镜像。

  • <镜像ID或名称>:镜像的唯一标识符或名称。

  • <标签>:镜像的标签。如果未指定标签,默认删除所有标签的镜像。

3. 示例
docker rmi nginx:latest

删除本地的 nginx:latest 镜像。


(四)构建镜像

1. 基本命令
docker build -t <镜像名>:<标签> <上下文路径>
2. 参数解释
  • docker build:从 Dockerfile 构建镜像。

  • -t:指定构建后的镜像名称和标签。

  • <镜像名>:<标签>:镜像名称和标签,例如 myapp:1.0

  • <上下文路径>:Dockerfile 所在路径或上下文目录,默认为当前目录。

3. 示例
docker build -t myapp:1.0 .

在当前目录下构建镜像,命名为 myapp,标签为 1.0


(五)导出和加载镜像

1. 导出镜像
docker save <镜像名>:<标签> > <文件名>.tar
2. 参数解释
  • docker save:将镜像导出为 .tar 文件。

  • <镜像名>:<标签>:指定要导出的镜像。

  • >:将输出重定向到文件。

3. 加载镜像
docker load -i <文件名>.tar
4. 参数解释
  • docker load:从 .tar 文件加载镜像。

  • -i:指定输入文件路径。

5. 示例
docker save nginx:latest > nginx.tar
docker load -i nginx.tar

(六)查看镜像历史

1. 基本命令
docker history <镜像名>:<标签>
2. 参数解释
  • docker history:查看镜像的构建历史。

  • <镜像名>:<标签>:指定镜像。

3. 示例
docker history nginx:latest

输出示例:

IMAGE ID       CREATED         CREATED BY                                      SIZE
1234567890ab   1 week ago      /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon of... 0B
<missing>      1 week ago      /bin/sh -c #(nop) EXPOSE 80/tcp                 0B
<missing>      1 week ago      /bin/sh -c #(nop) ENTRYPOINT ["/docker-entryp... 0B
<missing>      1 week ago      /bin/sh -c #(nop) COPY file:abc123... in /      133MB

(七)镜像标签管理

1. 重新标记镜像
docker tag <原镜像名>:<原标签> <新镜像名>:<新标签>
2. 参数解释
  • docker tag:为镜像重新标记。

  • <原镜像名>:<原标签>:原镜像的名称和标签。

  • <新镜像名>:<新标签>:新的镜像名称和标签。

3. 示例
docker tag nginx:latest my-nginx:1.0

nginx:latest 重新标记为 my-nginx:1.0


(八)推送镜像到远程仓库

1. 基本命令
docker push <镜像名>:<标签>
2. 参数解释
  • docker push:将本地镜像推送到远程仓库(如 Docker Hub、私有仓库)。

  • <镜像名>:<标签>:镜像名称和标签。如果镜像属于私有仓库,需要包含仓库地址,例如 myregistry.com/myapp:1.0

3. 示例
docker push myapp:1.0

将本地的 myapp:1.0 镜像推送到 Docker Hub。


三、总结

Docker 镜像操作是 Docker 使用的核心内容之一。通过掌握以下命令,可以高效地管理镜像:

  • 拉取镜像docker pull

  • 查看本地镜像docker images

  • 删除镜像docker rmi

  • 构建镜像docker build

  • 导出和加载镜像docker savedocker load

  • 查看镜像历史docker history

  • 重新标记镜像docker tag

  • 推送镜像到远程仓库docker push

合理使用这些命令,可以帮助开发者和运维人员更好地管理镜像,确保应用的高效部署和维护。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/972876.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pdf转换成word在线 简单好用 支持批量转换 效率高 100%还原

pdf转换成word在线 简单好用 支持批量转换 效率高 100%还原 在数字化办公的浪潮中&#xff0c;文档格式转换常常让人头疼不已&#xff0c;尤其是 PDF 转 Word 的需求极为常见。PDF 格式虽然方便阅读和传输&#xff0c;但难以编辑&#xff0c;而 Word 格式却能灵活地进行内容修…

Django ModelForm使用(初学)

1.目的是根据员工表字段&#xff0c;实现一个新增员工的数据填写页面 2.在views.py文件中按下面的格式写 定义 ModelForm 类&#xff1a;UserModelForm &#xff08;自己命名的类名&#xff09;使用时需要导入包 定义视图函数&#xff1a;user_model_form_add&#xff08;在函…

基于大牛直播SDK的Android平台低延迟RTSP|RTMP播放与录像技术实践

技术背景 随着直播、安防监控、远程会议等场景对实时性与稳定性要求的提升&#xff0c;低延迟流媒体播放与录像成为核心技术需求。大牛直播SDK的SmartPlayer模块提供了完整的解决方案&#xff0c;支持RTSP、RTMP协议的多实例播放、硬件解码、实时快照、录像管理等功能&#xf…

小怿学习日记(七) | Unreal引擎灯光架构

灯光的布局对于HMI场景中车模的展示效果有着举足轻重的地位。本篇内容将简单介绍ES3.1的相关知识&#xff0c;再深入了解Unreal引擎中车模的灯光以及灯光架构。 一、关于ES3.1 1.1 什么是ES3.1 ES3.1这个概念对于美术的同学可能比较陌生&#xff0c;ES3.1指的是OpenGL ES3.1&…

DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方DeepSeek接入)

前言 在当今数字化时代&#xff0c;AI编程助手已成为提升开发效率的利器。DeepSeek作为一款强大的AI模型&#xff0c;凭借其出色的性能和开源免费的优势&#xff0c;成为许多开发者的首选。今天&#xff0c;就让我们一起探索如何将DeepSeek接入PyCharm&#xff0c;实现高效、智…

广度优先搜索详解--BFS--蒟蒻的学习之路

1.什么是广度优先搜索? 广度优先搜索&#xff08;Breadth-First Search&#xff0c;简称BFS&#xff09;是一种遍历或搜索树和图的算法&#xff0c;也称为宽度优先搜索&#xff0c;BFS算法从图的某个节点开始&#xff0c;依次对其所有相邻节点进行探索和遍历&#xff0c;然后再…

. Unable to find a @SpringBootConfiguration(默认软件包中的 Spring Boot 应用程序)

解决&#xff1a; 新建一个包即可 问题&#xff1a; 默认软件包中的 Spring Boot 应用程序。 原因&#xff1a; 默认包的定义 &#xff1a; 如果一个 Java 类没有使用 package 声明包名&#xff0c;则该类会被放置在默认包中。Spring Boot 遵循 Java 的包管理约定&#xff…

DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地

对于个人开发者或尝鲜者而言&#xff0c;本地想要部署 DeepSeek 有很多种方案&#xff0c;但是一旦涉及到企业级部署&#xff0c;则步骤将会繁琐很多。 比如我们的第一步就需要先根据实际业务场景评估出我们到底需要部署什么规格的模型&#xff0c;以及我们所要部署的模型&…

“三次握手”与“四次挥手”:TCP传输控制协议连接过程

目录 什么是TCP协议 “三次握手”建立连接 “四次挥手”断开连接 “三次握手”和“四次挥手”的反思 总结 什么是TCP协议 想象一下&#xff0c;你和远方的朋友要进行一场电话交流&#xff0c;但这通电话不仅仅是随便聊聊&#xff0c;而是要传递一封重要的信件。为了确保这…

网络运维学习笔记 012网工初级(HCIA-Datacom与CCNA-EI)某机构新增:GRE隧道与EBGP实施

文章目录 GRE隧道&#xff08;通用路由封装&#xff0c;Generic Routing Encapsulation&#xff09;协议号47实验&#xff1a;思科&#xff1a;开始实施&#xff1a; 华为&#xff1a;开始实施&#xff1a; eBGP实施思科&#xff1a;华为&#xff1a; GRE隧道&#xff08;通用路…

Android 动态加入Activity 时 manifest 注册报错解决。使用manifestPlaceholders 占位

需求如下&#xff1a; 项目 测试demo 有多个渠道&#xff0c;部分渠道包含支付功能&#xff0c;在主测试代码外&#xff0c;需要一个单独 Activity 调用测试代码。 MainActivityPayActivity渠道A包含不包含渠道B包含包含 因为支付功能需要引入对应的 moudule&#xff0c;因此…

【koa】05-koa+mysql实现数据库集成:连接和增删改查

前言 前面我们已经介绍了第二阶段的第1-4点内容&#xff0c;本篇介绍第5点内容&#xff1a;数据库集成&#xff08;koamysql&#xff09; 也是第二阶段内容的完结。 一、学习目标 在koa项目中正常连接数据库&#xff0c;对数据表进行增删改查的操作。 二、操作步骤 本篇文章…

linux--关于makefile

makefile文件 可以指定编译顺序&#xff0c;这样方便一个项目的多个文件要编译的挨个操作的麻烦。 makefile文件的命名&#xff1a;makefile 或者 Makefile 必须是这俩&#xff0c;系统才能识别 规则的书写语法如下&#xff1a; 一个makefile内可以有多个规则 目标:依赖a 依…

俄罗斯方块游戏完整代码示例

以下是一个基于Cocos Creator引擎开发的俄罗斯方块游戏的完整代码示例。该游戏实现了俄罗斯方块的基本功能&#xff0c;并且代码整合在单个文件中&#xff0c;无需任何外部依赖&#xff0c;可以直接在浏览器中运行。 1. 创建Cocos Creator项目 首先&#xff0c;确保你已经安装了…

学习kafka和flink

kafka kafka安装一套流程 方法一&#xff1a;启动需安装zookeeper和kafka 【Kafka】Windows下安装Kafka&#xff08;图文记录详细步骤&#xff09; 安装Tzq2018写的上面链接安装的&#xff0c;一切很顺利&#xff0c;除了zookeeper的环境变量不管如何配置都不管用&#xff0…

SLT-加载表添加字段重新刷数

1、LTRC数据提供->输入表名->停止加载/复制 2、LTRS添加表字段&#xff08;只有在加载部分字段的情况下&#xff09;&#xff1b; 在查看修改概览页将需要的字段选中并删除&#xff0c;删除的字段自动归集到已修改概览里。 3、数据提供-》输入表名-》创建/数据库视图&am…

【黑马点评优化】2-Canel实现多级缓存(Redis+Caffeine)同步

【黑马点评优化】2-Canel实现多级缓存&#xff08;RedisCaffeine&#xff09;同步 0 背景1 配置MySQL1.1 开启MySQL的binlog功能1.1.1 找到mysql配置文件my.ini的位置1.1.2 开启binlog 1.2 创建canal用户 2 下载配置canal2.1 canal 1.1.5下载2.2 配置canal2.3 启动canal2.4 测试…

【iOS】SwiftUI状态管理

State ObservedObject StateObject 的使用 import SwiftUIclass CountModel: ObservableObject {Published var count: Int 0 // 通过 Published 标记的变量会触发视图更新init() {print("TimerModel initialized at \(count)")} }struct ContentView: View {State…

组合总和力扣--39

目录 题目 思路 剪枝优化 代码 题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的…

基于知识图谱的问答系统:后端Python+Flask,数据库Neo4j,前端Vue3(提供源码)

基于知识图谱的问答系统&#xff1a;后端PythonFlask&#xff0c;数据库Neo4j&#xff0c;前端Vue3 引言 随着人工智能技术的不断发展&#xff0c;知识图谱作为一种结构化的知识表示方式&#xff0c;逐渐成为问答系统的重要组成部分。本文将介绍如何构建一个基于知识图谱的问答…