Docker 镜像和容器的导入导出及常用命令

12a204a79d26f070b39a54ec961bb26a.gif

作者 | 微枫Micromaple

来源 | CSDN博客

5e33ced2ee42b9864ce99e3149282fe0.png

Docker 镜像和容器的导入导出

1.1 镜像的导入导出

1.1.1 镜像的保存

  • 通过镜像ID保存

    • 方式一:

docker save image_id > image-save.tar

例如:

root@Ubuntu:/usr/local/docker/nginx# docker imagesREPOSITORY      TAG                 IMAGE ID       CREATED         SIZEopenjdk         8-jre               26ac3f63d29f   2 months ago    273MBnginx           1.21.3              87a94228f133   4 months ago    133MBroot@Ubuntu:/usr/local/docker/nginx# docker save 87a94228f133 > nginx-save.tar
    • 方式二:

docker save -o image-save.tar image_id

例如:

root@Ubuntu:/usr/local/docker/nginx# docker imagesREPOSITORY      TAG                 IMAGE ID       CREATED         SIZEopenjdk         8-jre               26ac3f63d29f   2 months ago    273MBnginx           1.21.3              87a94228f133   4 months ago    133MBroot@Ubuntu:/usr/local/docker/nginx# docker save -o nginx-save.tar 87a94228f133
  • 通过镜像repository和tag保存

docker save -o image-save.tar repository:tag

例如:

root@Ubuntu:/usr/local/docker/nginx# docker imagesREPOSITORY      TAG                 IMAGE ID       CREATED         SIZEopenjdk         8-jre               26ac3f63d29f   2 months ago    273MBnginx           1.21.3              87a94228f133   4 months ago    133MBroot@Ubuntu:/usr/local/docker/nginx# docker save -o nginx-save.tar nginx:1.21.3

1.1.2 镜像的导入

  • 方式一:

docker load < nginx-save.tar
  • 方式二:

docker load -i nginx-save.tar
  • 注意

    • 使用 image_id作为参数的方式导出的镜像包进行导入会出现 none的情况,需要手动打标签

docker tag 87a94228f133 nginx:1.21.3
    • 使用镜像 repository:tag 作为导出参数的方式则正常

1.2 容器的导入和导出

1.2.1 容器的导出

容器的导出是将当前容器变成一个容器包

root@Ubuntu:/usr/local/docker/nginx# docker ps -aCONTAINER ID   IMAGE         COMMAND                  CREATED      STATUS       PORTS                                        NAMES66b23477cdc6   nginx:1.21.3  "/docker-entrypoint.…"   7 days ago   Up 3 hours   80/tcp, 0.0.0.0:80->80/tcp, :::80->80/tcp    nginx_51tjroot@Ubuntu:/usr/local/docker/nginx# docker export -o nginx-export.tar 66b23477cdc6

1.2.2 容器包的导入

docker import nginx-export.tar nginx:1.21.3-new

export 和 import 导出的是一个容器的快照, 不是镜像本身, 也就是说没有 layer。 

你的 dockerfile 里的 workdir, entrypoint 之类的所有东西都会丢失,commit 过的话也会丢失。 

快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也更大。

注意:

  • docker save 保存的是镜像(image),docker export 保存的是容器(container);

  • docker load 用来载入镜像包,docker import 用来载入容器包,但两者都会恢复为镜像;

  • docker load 不能对载入的镜像重命名,而 docker import 可以为镜像指定新名称。

d96e5675208cd406058e72938b92e8d4.png

Docker 常用命令

查看 Docker 版本

docker version

从 Docker 文件构建 Docker 映像

docker build -t image-name docker-file-location

运行 Docker 映像

docker run -d image-name

查看可用的 Docker 映像

docker images

查看最近的运行容器

docker ps -l

查看所有正在运行的容器

docker ps -a

停止运行容器

docker stop container_id

删除一个镜像

docker rmi image-name

删除所有镜像

docker rmi $(docker images -q)

强制删除所有镜像

docker rmi -r $(docker images -q)

删除所有虚悬镜像‍

docker rmi $(docker images -q -f dangling=true)docker image prune

删除所有容器

docker rm $(docker ps -a -q)

进入 Docker 容器

docker exec -it container-id /bin/bash

查看所有数据卷

docker volume ls

删除指定数据卷

docker volume rm [volume_name]

删除所有未关联的数据卷

docker volume rm $(docker volume ls -qf dangling=true)

从主机复制文件到容器

sudo docker cp host_path containerID:container_path

从容器复制文件到主机

sudo docker cp containerID:container_path host_path

读到这里,想必你已经对 Docker 容器和镜像的常用操作以及命令有了更加深入的理解。

eb350bd9dc36e5515085f31f8afdcd72.gif

往期推荐

40 张图 详解 Docker 容器监控

剖析 kubernetes 集群内部 DNS 解析原理

Kubernetes 在科技革命中的演变

实战 Kubectl 创建 Deployment 部署应用

97f8dc54480757f59b3dce4a5a837516.gif

点分享

57e85358ca7413d3c09ee0b7c4c44d88.gif

点收藏

3fc8cce197456e343dd455c8202b128b.gif

点点赞

bf4cd12e7040a520c99e80acfbb99759.gif

点在看

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云「低代码音视频工厂」正式上线,为企业用户打造音视频应用开发最短路径

简介&#xff1a;vPaaS全新定义企业级音视频应用开发 1月5日&#xff0c;阿里云视频云“低代码音视频工厂vPaaS“正式上线&#xff0c;极大程度降低音视频开发门槛&#xff0c;打破传统音视频技术壁垒&#xff0c;全新定义企业级的音视频应用开发。 低代码音视频工厂基于云原生…

数组方法 包含es6

有回调函数的方法都有两个参数&#xff08;不写默认是window) 例&#xff1a;map&#xff0c;forEach&#xff0c;find let arr[1,2,3,4]; let obj{a:1,b:2}; let _thisnull; arr.map(v>{_thisthisreturn v1 },obj) console.log(_this) 数组方法细则 方法功能参数返回值是…

阿里开源支持10万亿模型的自研分布式训练框架EPL(EasyParallelLibrary)

简介&#xff1a;EPL背后的技术框架是如何设计的&#xff1f;开发者可以怎么使用EPL&#xff1f;EPL未来有哪些规划&#xff1f;今天一起来深入了解。 作者 | 王林、飒洋 来源 | 阿里技术公众号 一 导读 最近阿里云机器学习PAI平台和达摩院智能计算实验室一起发布“低碳版”巨…

如何从 Docker 镜像里提取 dockerfile!

作者 | A-刘晨阳来源 | CSDN博客今天给大家分享一下 dockerfile 里面是如何写的&#xff0c;然后去查了查就有了新的发现——通过镜像来提取 dockerfile。从镜像中提取dockerfile的两种方法。history参数我们可以直接用docker自带的参数来查看镜像的dockerfile&#xff0c;但有…

新品发布|备案变更不用再担心中断服务啦

简介&#xff1a;ICP备案迁移服务&#xff0c;就是面向有计划变更域名备案主体&#xff0c;或者在不同主体间迁移网站备案信息的客户&#xff0c;实现迁移过程中域名或者网站服务不中断的备案增值服务。 说起ICP备案&#xff0c;做过互联网经营业务的朋友都很熟悉&#xff0c;…

一眼定位问题,函数计算发布日志关键词秒检索功能

简介&#xff1a;当 FaaS 应用出现很多报错&#xff0c;且调用日志页面的请求过多时&#xff0c;如何才能简单、快速地查到出现 bug 的原因&#xff1f; 听说这个问题你也遇到了&#xff1f; 小王是一名程序员&#xff0c;最近在使用 FaaS &#xff08…

如何在 Linux 中使用 rsync 传输文件

作者 | 刘光录来源 | TIAPrsync&#xff08;远程同步&#xff0c;Remote Sync&#xff09;是一种在系统中或两个系统之间复制文件和目录的同步工具。rsync 的一个最大的优点&#xff0c;就是它只复制更改的文件&#xff0c;因而可以减少 CPU 消耗&#xff0c;在复制文件时节省带…

国民级消消乐背后的网络技术支持:不畏巨“峰”,“运”筹帷幄

简介&#xff1a;近日&#xff0c;阿里云网络携手乐元素共同部署建设了基于7层业务自动化调度的弹性网络架构&#xff0c;进一步提升乐元素在用户服务上的娱乐体验。提到乐元素相信大家都不陌生&#xff0c;作为从事移动网络游戏的研发、运营及广告平台&#xff0c;其代表作就是…

透析阿里云视频云「低代码音视频工厂」之能量引擎——vPaaS视频原生应用开发平台

简介&#xff1a;支撑15分钟上线高品质专属音视频平台 为满足企业用户极速搭建高品质专属音视频业务的需求&#xff0c;阿里云视频云的“低代码音视频工厂”应运而生&#xff0c;但极速而高品质的平台搭建诉求&#xff0c;需要用全新的开发方式才能真正实现&#xff0c;而全新…

自动驾驶“稳打地基”,小鹏汽车基于阿里云建自动驾驶AI智算中心算力可达600PFLOPS

数据驱动是自动驾驶发展的公认方向&#xff0c;也让自动驾驶模型训练成为一头“吃算力”的巨兽。自动驾驶的视觉检测、轨迹预测与行车规划等算法模型&#xff0c;有赖于机器学习海量数据集&#xff0c;但算力的不足让研发速度仍远远赶不上数据量增长的速度。随着传感器的进一步…

阿里云视频云「 vPaaS 」演绎了怎样的音视频应用开发「未来图景」

简介&#xff1a;前瞻音视频平台的演进未来 vPaaS是阿里云视频云最新推出的低代码音视频应用开发产品&#xff0c;其中&#xff0c;vPaaS低代码音视频工厂&#xff0c;彻底打破了音视频应用的繁冗技术开发壁垒&#xff1b;vPaaS视频原生应用开发平台&#xff0c;全新定义了音视…

鲲鹏开发者创享日2022:鲲鹏全栈创新 与开发者共建数字湖南

由华为推出的面向鲲鹏计算产业全栈开发者的系列活动——鲲鹏开发者创享日2022于8月5日在长沙成功举办。这场被称为开发者“技术嘉年华”的峰会&#xff0c;汇聚了国内顶尖技术大咖、科研带头人、知名企业技术专家及高校开发者&#xff0c;描绘了计算产业发展趋势和蓝图&#xf…

MySQL 深潜 - MDL 锁的实现与获取机制

简介&#xff1a;本文将介绍在 MDL 系统中常用的数据结构及含义&#xff0c;然后从实现角度讨论 MDL 的获取机制与死锁检测&#xff0c;最后分享在实践中如何监控 MDL 状态。 作者 | 泊歌 来源 | 阿里技术公众号 一 背景 为了满足数据库在并发请求下的事务隔离性和一致性要求…

深度解说阿里云 Serverless Kubernetes

简介&#xff1a;听阿里云技术专家聊聊 Serverless Kubernetes 一路走来的发展史&#xff0c;看看它是如何做到兼容 Kubernetes 使用方式的同时&#xff0c;拥有免运维和极致弹性等特点~ 作者 | 陈晓宇&#xff08;阿里云技术专家&#xff09; 策划 | 褚杏娟 伴随着云原生的…

理清 HTTP 之下的 TCP 流程,让你的 HTTP 水平更上一层

作者 | 神说要有光来源 | 神光的编程秘籍大家都知道 HTTP 的底层是 TCP&#xff0c;但是可能仅限于知道&#xff0c;并不是真正理解它们的关系。平时我们用 chrome devtools 的 Network 工具也只是能分析 HTTP 请求&#xff1a;TCP 层的东西看不见摸不着的&#xff0c;所以对它…

基于 EventBridge 构建 SaaS 应用集成方案

简介&#xff1a;事件源是事件驱动的基石&#xff0c;如何获取更多事件源也是 EventBridge 一直在探索和尝试的方向。针对市场上其他云厂商和垂直领域的 Saas 服务&#xff0c;EventBridge 发布了 HTTP Source 能力&#xff0c;提供简单且易于集成的三方事件推送 &#xff0c;帮…

无缝融入 Kubernetes 生态 | 云原生网关支持 Ingress 资源

简介&#xff1a;Kubernetes 一贯的作风是通过定义标准来解决同一类问题&#xff0c;在解决集群对外流量管理的问题也不例外。Kubernetes 对集群入口点进行了进一步的统一抽象&#xff0c;提出了 3 种解决方案&#xff1a;NodePort、LoadBalancer 和 Ingress。 作者&#xff1…

阿里云 AI 编辑部获 CCBN 创新奖,传媒行业解决方案背后的黑科技

简介&#xff1a;视频云驱动智媒创新 5 月 27 日&#xff0c;CCBN&#xff08;第二十八届中国国际广播电视信息网络展览会&#xff09;在北京隆重召开&#xff0c;在本次的 “CCBN 年度创新奖” 评选中&#xff0c;阿里云视频云凭借 AI 编辑部的传媒行业专业解决方案获得 CCBN …

云原生正在吞噬一切,开发者该如何应对?

十年前&#xff0c;Netscape创始人、硅谷著名投资人马克安德森&#xff08;Marc Andreessen&#xff09;预言“软件正在吞噬世界”&#xff1b;数年后&#xff0c;软件里90%以上的代码都是开源代码&#xff0c;“开源正在吞噬软件”&#xff1b;如今&#xff0c;“云原生吞噬开…

阿里云视频云 Retina 多媒体 AI 体验馆开张啦

简介&#xff1a;带你体验视频更多可能 带你体验视频更多可能 海量视频管理难度大&#xff1f;翻库检索特定人物费时费力&#xff1f;视频内容剪辑效率低&#xff1f;您的得力助手“Retina多媒体AI”体验馆已上线。带你感受视频AI黑科技&#xff0c;开启极致智能体验。 1、智…