docker镜像文件导入与导出 , 支持批量
1. 查看镜像id
sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
quay.io/calico/node v1.0.1 c70511a49fa1 6 weeks ago 257 MB
hello-world latest 48b5124b2768 2 months ago 1.84 kB
quay.io/coreos/flannel v0.7.0 63cee19df39c 2 months ago 73.8 MB
quay.io/calico/cni v1.5.5 ada87b3276f3 2 months ago 67.1 MB
2. 选择要打包的镜像,执行打包命令
sudo docker save -o quay.io-calico-node-1.tar quay.io/calico/node
或
docker save REPOSITORY:TAG | gzip > REPOSITORY:TAG.tar.gz
会在当前目录下生成导出文件xxx.tar,然后将此文件下载到本地
3. 在开发环境导入上述打包的镜像
docker load -i quay.io-calico-node-1.tar

0a43edc59c00: Loading layer 27.59 MB/27.59 MB
69a5574b2581: Loading layer 3.636 MB/3.636 MB
fb0933709f36: Loading layer 3.913 MB/3.913 MB
7384abd120f5: Loading layer 3.859 MB/3.859 MB
e34911610de0: Loading layer 27.06 MB/27.06 MB
d6ec327c8cbe: Loading layer 6.656 kB/6.656 kB
Loaded image ID: sha256:ada87b3276f307a6b1b1ada15820b6c9842fd839fe5cc46ad5db8af81f7fd271

至此,可以使用本地镜像了!
4. 批量导入导出镜像工具
①导出镜像:
import re
import os
import subprocess if __name__ == "__main__":
os.system('rm -rf /tmp/xfleet')
os.system('mkdir -p /tmp/xfleet')
p = subprocess.Popen('docker images', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in p.stdout.readlines(): # 此处的正则表达式是为了匹配镜像名以ufleet为开头的镜像
# 实际使用中根据需要自行调整
m = re.match(r'(^ufleet[^\s]*\s*)\s([^\s]*\s)', line.decode("utf-8"))
if not m:
continue # 镜像名
iname = m.group(1).strip(' ')
# tag
itag = m.group(2) # tar包的名字
tarname = iname.split('/')[-1]
print(tarname)
tarball = tarname + '.tar'
ifull = iname + ':' + itag
#save
cmd = 'docker save -o ' + tarball + ' ' + ifull
os.system(cmd) # 将tar包放在临时目录
os.system('mv %s /tmp/xfleet/'%tarball) retval = p.wait()
②导入镜像:
import os
import sys if __name__ == "__main__":
tarball = sys.argv[1]
print(tarball) workdir = '/tmp/xfleet-images'
os.system('rm -rf %s'%workdir)
os.system('mkdir -p %s'%workdir)
os.system('tar -zxvf %s -C %s'%(tarball, workdir)) os.chdir(workdir)
files = os.listdir(workdir)
for filename in files:
print(filename)
os.system('docker load -i %s'%filename)
容器打包成镜像:
docker commit -a "xxx" -m "xxx" 容器名称或id 打包的镜像名称:标签 OPTIONS说明:
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
小工具参考资料:http://www.cnblogs.com/ksir16/p/8865525.html
docker镜像文件导入与导出 , 支持批量的更多相关文章
- docker镜像文件导入与导出,支持批量
工作中经常需要拉取一些国外的镜像,但是网络限制等原因在公司拉取很慢,所以我习惯用亚马逊服务器拉取镜像,导出后下载到本地再导入开发环境 1. 查看镜像id sudo docker images REPO ...
- docker镜像文件导入与导出
工作中经常需要拉取一些国外的镜像,但是网络限制等原因在公司拉取很慢,所以我习惯用亚马逊服务器拉取镜像,导出后下载到本地再导入开发环境 1. 查看镜像id sudo docker images REPO ...
- docker镜像的导入和导出
启动命令 docker run -d -p 3000:80 twang2218/gitlab-ce-zh:9.0.3 docker run -d -p 8080:80 gitlab/gitlab-ce ...
- Docker 镜像的导入和导出
镜像的导入和导出 export 和improt [root@#localhost docker]# docker run -ti ubuntu:update /bin/bash root@cbe3cb ...
- kubernetes集群搭建(9):docker 镜像的导入与导出
由于K8s搭建时官方提供的镜像不FQ是访问不了的,所以搭建过程中很多时间都耗费在去找镜像去了 下面是我搭建k8s集群用到的镜像 没有采用之前我用的二进制文件搭建(dns没成功),这里采用的Kubea ...
- Docker 镜像-管理-导入-导出
目录 Docker 镜像基本概念 Docker 镜像加速 Docker 镜像 常用命令 Docker 镜像的创建和导出导入 Docker 镜像基本概念 我们使用的容器都是基于镜像的,镜像是由多层组成的 ...
- 从零开始构建一个centos+jdk7+tomcat7的docker镜像文件
从零开始构建一个centos+jdk7+tomcat7的镜像文件 centos7系统下docker运行环境的搭建 准备centos基础镜像 docker pull centos 或者直接下载我准备好的 ...
- 如何将docker镜像文件上传至Docker Hub
一.Docker Hub中新建存储库 注册,登录Docker Hub之后,点击右上角Create Repository,创建存储库,如下图所示: 取个名字,我这里取名为lihui_demo.并且可以选 ...
- Docker 镜像文件的导入和导出
使用save命令 保存镜像 docker save -o name_by_you.tar exist_images 将文件copy到另一台机器 使用load命令将镜像文件保存到本地仓库 docker ...
随机推荐
- stm32 独立看门狗学习
STM32F10xxx内置两个看门狗,提供了更高的安全性.时间的精确性和使用的灵活性.两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障. 独立看门狗(IWDG)由专用的低速 ...
- spring boot 配置redis
先配置属性: # database name spring.redis.database=0 # server host spring.redis.host=127.0.0.1 # server pa ...
- SWIG 和 Python——c/c++与脚本交互
C 和 C++ 被公认为(理当如此)创建高性能代码的首选平台.对开发人员的一个常见要求是向脚本语言接口公开 C/C++ 代码,这正是 Simplified Wrapper and Interface ...
- oracle expdp impdp 数据泵方式
一.不管导入还有导出都要先创建目录 1.登录plsql sqlplus/nolog conn sys/dbwork@orcl 2.创建目录 create directory my_dir as 'd: ...
- Java学习第十六天
1:List的子类(掌握) (1)List的子类特点 ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector: 底层数据结构是数组,查询快,增删慢 线程安全,效率低 ...
- FormCollection的用法
FormCollection的用法: 有时候前台抛来的字段太多,在后台一个一个例举出来显得麻烦,而且还容易出错,FormCollection解决了这个烦恼 #region 给商家留言 [HttpPos ...
- 浅谈MVC基础
ASP.NET MVC :UI层框架 让我们的web开发又回到了本质:请求,处理,响应 MVC本身是一种思想,将程序分成三个模块 Model:模型 广义的说法(包含DAL BLL MODEL ...
- easyui combobox with checkbox item
$('#cc').combobox({ url:'combobox_data1.json', method:'get', valueField:'id', textField:'text', pane ...
- 【技巧】如何使用UltraEdit删掉某些行并且不留空行
例: 在S1这个文件中我想要把所有B6 96 FD 2E 49 96 2 D2的行删掉. 首先,查找这些序列,执行替换命令,替换为的内容不写. 点击“全部替换”之后,发现在原来的位置多了一行空行. 接 ...
- Azure CDN:氮气加速已开启,司机们请做好准备
在上一周,我们向各位小伙伴介绍了通过 Azure CDN 高级版服务为 HTTPS 应用加速的做法,漏掉的小伙伴可以点击这里穿越回去补课哦.那我们今天讲点什么呢?当然是 CDN 最重要的价值:改善应用 ...