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
相关文章:

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

SwiftUI 如何在运行时从底层动态获取任何 NSObject 对象实例
概览 众所周知,SwiftUI 的推出极大地方便了我们这些秃头码农们搭建 App 界面。不过,有时我们仍然需要和底层的 UIKit 对象打交道。比如:用 SwiftUI 未暴露出对象的接口改变视图的行为或外观。 从上图可以看到,我们 SwiftUI 代码并没有设置视图的背景色,那么它是怎么变成绿…...
LeetCode 2161.根据给定数字划分数组
给你一个下标从 0 开始的整数数组 nums 和一个整数 pivot 。请你将 nums 重新排列,使得以下条件均成立: 所有小于 pivot 的元素都出现在所有大于 pivot 的元素 之前 。 所有等于 pivot 的元素都出现在小于和大于 pivot 的元素 中间 。 小于 pivot 的元素…...
ip获取+归属地实现
1.背景 现在的社交平台一般都需要展示用户的归属地,这个功能有下面二个主要功能点,接下来我们来介绍下具体实现。 IP 获取 IP 转归属地 2.ip获取 2.1 Http请求 对于controller的请求,我们只需要写个拦截器,将用户的ip设置进上下文即可,非常方便。 @Override public bo…...
Python的错误和异常
文章目录 python的语法错误异常异常处理用户自定义异常定义清理行为预定义的清理行为 python的语法错误 语法错误(Syntax Error)是指代码不符合Python语言的语法规则。当解释器在执行代码之前对其进行解析时,如果发现代码中有语法错误&#…...

C语言-------指针进阶(2)
1.指针数组 指针数组表较简单,类比整型数组,字符数组,整型数组里面的元素都是整型变量,字符数组里面 的元素是字符类型,那么指针数组就是数组里面的每个元素都是指针类型,例如int*arr[5]就是一个 指针数…...
Spring El表达式官方文档学习
文章目录 推荐一、概述1、什么是SpEL2、SpEL能做什么 二、SpEL表达式使用1、文字表达式2、属性, 数组, List, Map,和 索引(1)属性操作(2)数组和List(3)Map 3、内嵌List4、内嵌Map5、构建数组6、调用类的方法…...

RK3568 android11 调试陀螺仪模块 MPU6500
一,MPU6500功能介绍 1.简介 MPU6500是一款由TDK生产的运动/惯性传感器,属于惯性测量设备(IMU)的一种。MPU6500集成了3轴加速度计、3轴陀螺仪和一个板载数字运动处理器(DMP),能够提供6轴的运动…...

【HTML】HTML基础6.1(表格以及常见属性)
目录 表格介绍 表格标签 表格标签的常见属性 案例 知识点总结 表格介绍 在浏览器中,我们经常见到形如 这样的表格形式,一般来说,表格是为了让数据看起来更加清晰,增强数据的可读性 有的程序员也会用表格进行排版 表格标签 &…...

数字电路三宝:锁存器、寄存器和触发器
在数字电路设计中,很多电子工程师经常会用到锁存器、寄存器和触发器,它们各自承担着不同的功能,但共同为数字电路的稳定性和高效性提供了坚强保障,下面将谈谈这三大元件,希望对小伙伴们有所帮助。 1、锁存器࿰…...
VLC相关资源及使用方法
资源 VLC源码: VLC的源码,与VLC Contrib配合使用可以编译相应的库、程序等,如果没有Contrib,可以使用源码下面的contrib文件夹下对应程序自动下载,单独编译,但是速度很慢。 下载地址: 官网&…...

4_相机透镜畸变
理论上讲,是可能定义一种透镜而不引入任何畸变的。然而现实世界没有完美的透镜。这主要是制造上的原因,因为制作一个“球形”透镜比制作一个数学上理想的透镜更容易。而且从机械方面也很难把透镜和成像仪保持平行。下面主要描述两种主要的透镜畸变并为他…...

微信小程序(四十六)登入界面-进阶版
注释很详细,直接上代码 上一篇 此文使用了vant组件库,没有安装配置的可以参考此篇vant组件的安装与配置 新增内容: 1.手机号与验证码格式验证 2.验证码的网络申请和校验 wechat-http模块在好几篇以前已经讲了咋安装的,不记得的友…...

CSP-201712-2-游戏
CSP-201712-2-游戏 解题思路 初始化变量:定义整数变量n和k,分别用来存储小朋友的总数和淘汰的特定数字。然后定义了num(用来记录当前报的数)和peopleIndex(用来记录当前报数的小朋友的索引)。 初始化小朋…...

记录SSM项目集成Spring Security 4.X版本 之 加密验证和记住我功能
目录 前言 一、用户登录密码加密认证 二、记住我功能 前言 本次笔记的记录是接SSM项目集成Spring Security 4.X版本 之 加入DWZ,J-UI框架实现登录和主页菜单显示-CSDN博客https://blog.csdn.net/u011529483/article/details/136255768?spm1001.2014.3001.5502 文章之后补…...

[AutoSar]BSW_Com09 CAN driver 模块FULL(BASIC)CAN、FIFO选择
目录 关键词平台说明一、FULL CAN 和Basic CAN 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector ,芯片厂商TI 英飞凌编程语言C,C编译器HighTec (GCC)autosar版本4.3.1 >>>>>回到总目录<&…...

WPF真入门教程30--顺风物流单据管理系统
1、教程回顾 到现在为止,真入门系列教程已完成了29刺由浅入深地讲解,当然不可能讲到了WPF的所有技能点,但读者看到了wpf的内部各种功能及之间的联系,在此基础上,提供一个完整有效的综合项目,本项目采用的是…...

Elasticsearch:向量相似度计算 - 可笑的速度
作者:Chris Hegarty 任何向量数据库的核心都是距离函数,它确定两个向量的接近程度。 这些距离函数在索引和搜索期间执行多次。 当合并段或在图表中导航最近邻居时,大部分执行时间都花在比较向量的相似性上。 对这些距离函数进行微观优化是值…...
两数相加的问题
题目是:给两个非空的链表,表示两个非负整数。它们每位数都是按照逆序的方式存储,并且每一个节点只能存储一位数字。现在两个数相加,并且以相同的形式返回一个表示和的链表。 首先回顾一下,什么是链表?链表…...
微信小程序的单位
在小程序开发中,rpx是一种相对长度单位,用于在不同设备上实现自适应布局。它是微信小程序特有的单位,表示屏幕宽度的 1/750。 rpx单位的好处在于可以根据设备的屏幕宽度进行自动换算,使得页面在不同设备上保持一致的显示效果。例…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...

Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...