kubernetes实战篇之docker镜像的打包与加载
前面我们讲到了使用nexus搭建docker镜像仓库,操作还是有点复杂的,可能有的童鞋仅仅是想尝试kubernetes功能,并不想在搭建仓库上花费过多时间,但是又想在不同的主机之间传递镜像.其实可以通过docker save命令来实现,通过docker save把一个镜像保存为tar格式压缩文件,然后在要使用这个镜像机器上执行docker load命令来加载这个镜像.
复制文件的方式不方便对文件进行版本管理,大家为了方便测试可以这样玩玩,强烈建议生产环境中不要这么做.
通过docker save保存镜像为文件
docker save命令的格式如下
docker save -o <path for generated tar file> <image name></image>
-o或者--output,指定输出文件(tar格式)的位置,这里的位置不仅仅是要输出的目录,还包括要保存的tar文件的名称
image name 要保存的镜像的名称
例如,以下命令把alpine:latest镜像保存为名为alpine.tar文件(保存位置为当前目录,也可以通过指定绝对路径把镜像保存到指定位置)
docker save -o alpine.tar alpine:latest
保存为文件以后,我们就可以通过cp,scp,ftp等工具把镜像文件复制到目标电脑上
通过docker load加载保存的tar文件
命令格式如下:
docker load -i <path to image tar file>
-i同--input,指定一个tar文件
我们执行命令docker load -i alpine.tar就可以在目标机器上加载我们保存的alpine镜像了.
使用docker export/import来打包/加载镜像
使用docker export/import与使用docker save/load用法类似,不同的是docker save是把一个镜像保存为tar文件,而docker export是把一个运行的容器的文件系统的快照保存为压缩文件,通过docker import从导出的文件系统中创建一个镜像
注意,docker import并不是把导出的容器还原,而是从中生成一个镜像.
通过docker import 导入的镜像将丢失所有元数据和历史记录,实际项目中我们并不关心容器的历史记录和元数据,我们关系的是应用程序的正常运行的优化,使用这种方式生成的镜像一定程度上减小了镜像的体积.
- docker export 导出容器为压缩文件
命令格式如下:
docker export -o <path for generated tar file> <container name>
此命令类似于docker save,指定要输出的文件路径和文件名,后面跟上要导出的容器的名称或者id
例如通过docker export -o alpine.tar c054把一个运行的容器(id开头为c054)导出为文件.
我们可以查看生成的alpine.tar文件,里面其实是一个linux文件系统
- docker import 把导出的文件系统导入为镜像
我们通过命令docker import alpine.tar myalpine把刚导出的容器文件系统导出为镜像,并且命名为myalpine
注,这里与docker load不同的是这里不需要
-i来指定input对象,而是直接跟要导入的对象,并且可以给导入的镜像命名.
kubernetes实战篇之docker镜像的打包与加载的更多相关文章
- Docker镜像保存save、加载load(外网转移至内网)
(1)查看要要保存的镜像的ID [root@localhost docker]# docker images (2)保存镜像 [root@localhost docker]# docker save ...
- Docker镜像保存save、加载load
(1)查看要要保存的镜像的ID [root@localhost docker]# docker images (2)保存镜像 [root@localhost docker]# docker save ...
- 转:zTree树控件实战篇:针对多个下拉加载zTree树应该如何做出合理的配置
今天有一个zTree的朋友遇到一个非常棘手的问题,才研究zTree树控件两天就被上头催着看成果,很是苦恼.他面对的问题就是页面内多个地方需要下拉在其文本框下方加载zTree树,由于对zTree下拉加载 ...
- docker镜像批量打包
docker镜像批量打包 批量打包镜像: # docker save $(docker images | grep -v REPOSITORY | awk 'BEGIN{OFS=":&quo ...
- 修改 docker image 安装目录 (解决加载大image时报错:"no space left on device")
修改 docker image 安装目录 (解决加载大image时报错:"no space left on device" ) 基于Ubuntu16.04 docker版本: 17 ...
- [Unity] unity5.3 assetbundle打包及加载
Unity5.3更新了assetbundle的打包和加载api,下面简单介绍使用方法及示例代码. 在Unity中选中一个prefab查看Inspector窗口,有两个位置可以进行assetbundle ...
- kubernetes实战篇之nexus oss服务器部署及基于nexus的docker镜像仓库搭建
系列目录 Nexus oss仓库管理平台搭建 Nexus是一款仓库管理工具,支持Npm,bower,maven,nuget,apt,yum甚至docker,helm等各种仓库,说的通俗以下,就是私服镜 ...
- kubernetes实战篇之部署一个.net core微服务项目
目录 继上一篇kubernetes理论知识完结.本篇主要讲解基于nexus搭建一个docker镜像仓库(当然大家实践过程是不必完全跟着做,也可以搭建harbor仓库或者直接把镜像推送到docker h ...
- kubernetes实战篇之helm安装
系列目录 Helm是kubernetes的应用包管理工具,是CNCF孵化器下的一个项目,主要用来管理 Charts.类似于 Ubuntu 中的 APT 或 CentOS 中的 YUM.它提供了一种简单 ...
随机推荐
- WPF中用于嵌入其他进程窗口的自定义控件(AppContainer)
原文:WPF中用于嵌入其他进程窗口的自定义控件(AppContainer) 版权声明:本文为博主原创文章,转载请注明作者和出处 https://blog.csdn.net/ZZZWWWPPP11199 ...
- Android学习路径(22)应用Fragment建立动态UI——构建一个灵活UI
当你设计你的应用来支持多个屏幕尺寸.你能够基于可用的屏幕空间通过在不同的布局上重用fragment来优化用户体验. 比如,在一个手机上.使用单面板(一次仅仅显示一个fragment)的用户体验更加合适 ...
- WPF 后台C#设置控件背景图片
原文:WPF 后台C#设置控件背景图片 以前的程序中有做过,当时只是记得uri很长一大段就没怎么记.今天有人问了也就写下来. 这是一个Button,设置了Background后的效果. 前台的设置 ...
- .net与.net core学习目录
.net C#调用python 模拟请求(模拟header/gzip解压/泛型) C#控制台关闭之前做一些操作 C# 元组.匿名对象.ref&out DataTable转换为Entity(反射 ...
- WPF Button控件模板
<Window x:Class="ControlTemplateDemo.MainWindow" xmlns="http://schemas.m ...
- AY的Dapper研究学习-基本入门-C#开发-aaronyang技术分享
原文:AY的Dapper研究学习-基本入门-C#开发-aaronyang技术分享 ====================www.ayjs.net 杨洋 wpfui.com ...
- win10 uwp ApplicationView
原文:win10 uwp ApplicationView 本文和大家介绍一个重要的类,他可以用来设置窗口,如设置启动大小,设置是否允许截图,是否进入全屏,所有和窗口有关的,都可以在他这里设置. 可以使 ...
- SQL Server根据字段查询不出记录
今天写了一条select语句,很奇怪的一件事,我写程序几年了,第一次碰到这个问题,就是数据库里有这个值,你根据这个值查询就是查询不出来这行记录. 所以我想是不是里面有空格,回车什么的,最后果然如此. ...
- JS解析Json 数据并跳转到一个新页面,取消A 标签跳转
JS解析Json 数据并跳转到一个新页面,代码如下 $.getJSON("http://api.cn.abb.com/common/api/staff/employee/" + o ...
- Android实现dialog时候弹出软键盘dialog移位问题
Window win = getWindow(); WindowManager.LayoutParams params = win.getAttributes(); win.setSoftInputM ...