Docker镜像导出/导入

Docker镜像导出/导入

一、前言

在实际操作中,为了便于docker镜像环境和服务配置的迁移,我们有时需要将已在测试环境主机上完成一系列配置的docker镜像或运行中的容器镜像导出,并传输到生产或其他目标环境主机上运行。为此,本文主要聚焦于如何实现docker镜像的导出和导入操作。

二、镜像导出/导入

docker镜像的导出/导入,可以用2种方进行操作,但需要注意的是这2种方法不可以混用,以免造成启动容器时失败,下面会以2种不同方进行导出/导入。

2.1、方法一(利用仓库镜像导出/导入)

该方法是通过仓库中的镜像进行导出/导入,也是比较推荐的方法,操作如下:

2.1.1、导出

首先要先确认要导出仓库中的哪些镜像之后再进行导出,如下图查看docker仓库中所有镜像:

图中标红的部分就是要导出的镜像。

可利用docker sava命令进行镜像导出,如下:

(base) [root@milvus ~]# docker save -o quay_io_coreos_etcd.tar quay.io/coreos/etcd

quay_io_coreos_etcd.tar:代表导出镜像后的压缩名字,可以任意命名。

-o:指定输出文件名,可以任意命名。

quay.io/coreos/etcd:代表仓库中要导出的镜像名称。按仓库中实际名字为主。

2.1.2、导入

把2.1.1小节中导出的镜像tar包,利用ftp、sftp或是scp命令传到生产或其他目标环境主机上,执行docker load命令进行导入。如下:

传包到生产或其他目标环境主机上:

(base) [root@milvus ~]# scp quay_io_coreos_etcd.tar root@192.168.20.4:/app/docker

生产或其他目标环境主机上导入:

[root@Bert docker]# docker load < quay_io_coreos_etcd.tar

导入过程或导入成功,如下图所示:

利用docker images查看仓库中的镜像,如下图所示:

[root@Bert docker ]#docker images

依次类推把剩下的镜像按照2.1.1和2.1.2小节的方法重复执行即可。

导入完成的所有镜像,如下图所示:

2.2、方法二(利用容器中镜像导出/导入)

此方法是通过容器中镜像的ID进行导出的。

2.2.1、导出

利用docker ps -a命令查看要导出的镜像。

(base) [root@milvus ~]#docker ps -a

图中标红的部分就是要导出的镜像。

使用docker export命令进行镜像导出。

(base) [root@milvus ~]# docker export e45e6f82fc7f > milvus-etcd.tar

e45e6f82fc7f:代表的是镜像在容器中的ID,根据实际情况进行选择。

milvus-etcd.tar:代表导出镜像后的压缩名字,可以任意命名。

2.2.2、导入

把2.2.1小节中导出的镜像tar包,利用ftp、sftp或是scp命令传到生产或其他目标环境主机上,利用docker export命令导出的镜像可以使用2种方法进行导入。

2.2.2.1、导入方法一

执行docker import命令进行导入

传包到生产或其他目标环境主机上:

(base) [root@milvus ~]# scp milvus-etcd.tar root@192.168.20.4:/app/docker

生产或其他目标环境主机上导入:

[root@Bert docker]# docker import milvus-etcd.tar

导入过程或导入成功,如下所示:

[root@Bert docker]# docker import milvus-etcd.tar

sha256:16313b41937f899ccfcd03c87307e82fa336d876263f6f75b4384c8191c30341

利用docker images查看仓库中的镜像,如下图所示:

[root@Bert docker ]#docker images

利用docker import命令导入的镜像,镜像在仓中是没有镜像名称和标签的,可以使用docker tag命令进行修改。

[root@Bert docker]# docker tag 6de761d89694 quay.io/coreos/etcd:v3.5.5

6de761d89694:代表仓库中镜像的ID,根据实际情况进行选择。

quay.io/coreos/etcd:v3.5.5:代表仓库中镜像名称和标签。其中“:”前代表镜像名称,“:”后代表镜像标签,名称和标签可以任意命令,但个人建议名称和标签尽量和原镜像保持一致,以保证镜你的统一,如果做了某些修改,为了和原镜像名称进行区分,可以根据自己的实际情况进行命名。

查看命名后结果。

[root@Bert docker]#docker images

2.2.2.2、导入方法二

利用cat image.tar|docker import – image_name:tag命令进行导入。

image.tar:代表2.2.1小节导入的镜像压缩包名称,根据实际导入的包进行选择。

image_name:tag:代表导入镜像时,对镜像的命名和镜像标签,其中“:”前代表镜像名称,“:”后代表镜像标签,名称和标签可以任意命令,但个人建议名称和标签尽量和原镜像保持一致,以保证镜你的统一,如果做了某些修改,为了和原镜像名称进行区分,可以根据自己的实际情况进行命名。

如下操作:

[root@Bert docker]# cat milvus-etcd.tar | docker import  - quay.io/coreos/etcd:v3.5.5

sha256:c861cf7bb555ec93c20e1cf6f01e2104ffff6d1dfd3531fd0634f89c2d12e193

利用docker images查看仓库中的镜像,如下图所示:

[root@Bert docker]#docker images

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

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

相关文章

Vue.js 进阶技巧:keep-alive 缓存组件解析

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

php反序列化字符逃逸

php反序列化和序列化 PHP序列化&#xff1a;serialize() 序列化是将变量或对象转换成字符串的过程&#xff0c;用于存储或传递 PHP 的值的过程中&#xff0c;同时不丢失其类型和结构。“序列化”是一种把对象的状态转化成字节流的机制 类似于这样的结构&#xff1a; O:4:&quo…

安装Proxmox VE虚拟机平台

PVE是专业的虚拟机平台&#xff0c;可以利用它安装操作系统&#xff0c;如&#xff1a;Win、Linux、Mac、群晖等。 1. 下载镜像 访问PVE官网&#xff0c;下载最新的PVE镜像。 https://www.proxmox.com/en/downloads 2. 下载balenaEtcher balenaEtcher用于将镜像文件&#…

Ps:图案图章工具

图案图章工具 Pattern Stamp Tool可将各种预设图案或自定义的图案&#xff0c;通过画笔涂抹的方式填充到图像中。 快捷键&#xff1a;S 图案图章工具提供了一种快速、灵活的方式来为图像局部添加纹理和装饰。 这个工具类似于仿制图章工具&#xff0c;但区别在于&#xff0c;它使…

蓝桥杯集训·每日一题2024 (差分)

前言&#xff1a; 差分笔记以前就做了&#xff0c;在这我就不再写一遍了&#xff0c;直接上例题。 例题&#xff1a; #include<bits/stdc.h> using namespace std; int a[10009],b[100009]; int main(){int n,ans10,ans20;cin>>n;for(int i1;i<n;i){cin>>…

【Flutter 面试题】在flutter里streams是什么?有几种streams?有什么场景用到它?

【Flutter 面试题】在flutter里streams是什么&#xff1f;有几种streams&#xff1f;有什么场景用到它&#xff1f; 文章目录 写在前面解答补充说明**Single subscription streams** 读取文件广播流 Broadcast streams 通知多个监听器关于状态的变化 写在前面 关于我 &#xf…

(十六)【Jmeter】取样器(Sampler)之测试活动(Test Action)

简述 操作路径如下: JMeter中的测试活动取样器实际上并不是一个具体的取样器类型,而是一种对测试计划中的多个取样器进行组合和执行的活动。常常被用作定时器,在某个请求之后等待多长时间。 参数说明 Logical Action on Thread(在线程上的逻辑操作) Pause Duration(mil…

C 嵌入式系统设计模式 20:队列模式

本书的原著为&#xff1a;《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》&#xff0c;讲解的是嵌入式系统设计模式&#xff0c;是一本不可多得的好书。 本系列描述我对书中内容的理解。本文章描述嵌入式并发和资源管理模式之六…

C语言回顾学习

一、数据类型 1.常量 2.float浮点表示 3.字符型 4.char&#xff08;大小写&#xff09; #include <stdio.h> //根据数字输出字符--int值可以直接输出为char int main() {int value;while (1){scanf("%d",&value);if(value<65||value>122){printf(&…

C# OpenCvSharp DNN 部署yolov3目标检测

目录 效果 yolov3.cfg 项目 代码 下载 C# OpenCvSharp DNN 部署yolov3目标检测 效果 yolov3.cfg [net] # Testing #batch1 #subdivisions1 # Training batch16 subdivisions1 width416 height416 channels3 momentum0.9 decay0.0005 angle0 saturation 1.5 exposure 1…

[linux] 使用 kprobe 观察 tcp 拥塞窗口的变化

tcp 中拥塞窗口用来做拥塞控制。 在发送侧&#xff0c;要发送数据的时候会基于拥塞窗口进行判断&#xff0c;当前这个包还能不能发送出去。 tcp 发包函数是 tcp_write_xmit()&#xff0c;在这个函数中调用 tcp_cwnd_test() 来判断当前拥塞窗口让不让发包。从 tcp_cwnd_test() 函…

「滚雪球学Java」:多线程(章节汇总)

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

个人安全团队官方引导单页

一款简洁大气得个人团队引导html单页,非常不错,背景图和LOGO支持自行更改替换,可以拿来做为团队官网,只是单页没有后台,感兴趣得小伙伴可以下载体验一下! 下载地址 https://www.qqmu.com/2380.html

【Spring云原生】Spring官宣,干掉原生JVM,推出 Spring Native!整体提升性能!Native镜像技术在Spring中的应用

&#x1f389;&#x1f389;欢迎光临&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;特别推荐给大家我的最新专栏《Spring 狂野之旅&#xff1a;从入门到入魔》 &#x1f680; 本…

tomcat优化、nginx +tomcat 部署 (三)

在目前流行的互联网架构中&#xff0c;Tomcat在目前的网络编程中是举足轻重的&#xff0c;由于Tomcat的运行依赖于JVM&#xff0c;从虚拟机的角度把Tomcat的调整分为外部环境调优 JVM 和 Tomcat 自身调优两部分 Tomcat 是一个流行的开源 Java 服务器&#xff0c;用于托管 Java …

滤波和卷积的区别

本文主要介绍滤波和卷积的区别&#xff0c;以供读者能够理解该技术的定义、原理、应用。 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;计算机杂记 &#x1f380;CSDN主页 发狂的小花 &#x1f304;人生秘诀&…

java010 - Java面向对象基础

1、类和对象 1.1 什么是对象 万物皆对象&#xff0c;客观存在的事物皆为对象。 1.2 什么是面向对象 1.3 什么是类 类是对现实生活中一类具有共同属性和行为的事物抽象。 特点&#xff1a; 类是对象的数据类型类是具有相同属性和行为的一组对象的集合 1.4 什么是对象的属…

k8s 1.28.x node资源预留

当前NOde的配置 默认位置如下: vim /var/lib/kubelet/config.yaml #再最后添加如下&#xff0c;参加应该大家一看就明白什么意思&#xff0c;不做多解释了 #max-pods: 230 evictionHard:memory.available: 100Minodefs.available: 10%nodefs.inodesFree: 5% kubeReserved:cpu:…

多多关键字API php java Python

多多关键字API接口广泛应用于商家进行市场分析、竞品分析、关键词优化等场景。商家可以通过分析关键词数据&#xff0c;了解用户需求&#xff0c;制定针对性的营销策略&#xff0c;提高产品的曝光率和转化率。 多多-item_seach-通过关键字搜索商品列表 公共参数 获取key和秘钥…

rtt的io设备框架面向对象学习-电阻屏LCD设备

目录 1.8080通信的电阻屏LCD设备1.1 构造流程1.2 使用2.i2c和spi通信的电阻屏LCD 电阻屏LCD通信接口有支持I2c、SPI和8080通信接口的。 1.8080通信的电阻屏LCD设备 rtt没有实现的设备驱动框架层&#xff0c;那么是在驱动层直接实现的&#xff0c;以stm32f407-atk-explorer为例…