当然还有一些情况,我们需要的镜像DockerHub上不存在,例如:Linux信创的环境,在DockerHub上就很难知道对应的镜像,如果需要这种镜像的话就需要通过运行的系统来制作镜像了。
/proc 、 /sys 、 /run 、 /dev 这几个目录都是系统启动时自动生成的,虽然也属于文件系统一部分,但是他们每次开机都会有变化,所以打包的时候就应该忽略它们
参数说明:
-c或--create 建立新的备份文件
-f<备份文件>或--file=<备份文件>指定备份文件
-p或--same-permissions 用原来的文件权限还原文件
-v或--verbose 显示指令执行过程
z或--gzip或--ungzip 通过gzip指令处理备份文件
--numeric-owner 以用户识别码及群组识别码取代用户名称和群组名称
tar 命令更多参数可参考:
Linux tar 命令
Linux tar.gz、tar、bz2、zip 等解压缩、压缩命令详解
导入docker之前,最好修改下docker的默认存储路径。
具体修改方法可参考: Linux 下修改Docker默认存储路径
tips: 运行导入的镜像的时候必须带command,否则启动报如下错误. 最后的/bin/bash 不能少
提示: 制作的镜像文件太大,会导致启动容器时候失败: Getting the final child's pid from pipe caused "EOF"
参考文章:
[Docker 镜像导出和导入] https://yeasy.gitbook.io/docker_practice/container/import_export
1、首先在 Linux 系统中打开终端,确认 U 盘路径:
执行完这条命令后会出现若干个盘的信息,其中识别U盘的一个比较直观的方式是看容量大小。假设U盘的路径是 \dev\sdb 。
2、umount U 盘:
3、格式化U盘:
如果U盘是空的可能格式化的过程会比较快,否则可能会比较慢。
4、使用 dd 命令制作系统盘:
该命令一般需要十分钟左右可以完成。
一、下载安装包
可以根据你的系统类型自行去官网下载,由于会有很多依赖关系,条件允许建议者通过网络yum的形式安装(具体 *** 作很多教程有)。
当然如果你是redhat6版本,那么可以直接在http://download.csdn.net/detail/u012209894/9669034下载,我已经上传了,
里面的包已经全部囊括其中,安装命令,有依赖关系的先安装好依赖关系。
二、使用工具备份成镜像
root用户下输入mondoarchive,然后就都是图形 *** 作了,鉴于要截图,所以使用的是远程连接工具,实际图的界面没这么丑。
[root@TIANCOM ~]# mondoarchive
See /var/log/mondoarchive.log for details of backup run.
Checking sanity of your Linux distribution
选择标记的存放在服务器本地硬盘里面就可以了,点击回车下一步出现让你选择存放路径,直接默认即可,回车下一步。
一般选择gzip作为压缩条件就可以了,随你自行选择吧,回车下一步。
压缩标准,最大压缩率,最小压缩率,一般压缩率,其实选择一般就可以了,最小的话用时会比较久点,这个也根据自己实际情况选择吧,如果你系统需要备份的太多,那么你最好选择最小,因为如果压缩不超出范围,会生成两个盘,相对来说就不好刻录还原了,回车下一步。
这里让你选择镜像文件的大小,一般直接默认dvd的4480M就好了,选择Ok回车下一步。
替你的镜像命名,随意命名即可,如果有多个镜像工具会在后面自行标记1-9来区分,ok下一步。
选择你要备份的目录,一般默认根目录即可,直接下一步。
选择你要排除的文件,一般镜像存放目录肯定排除不需要备份,还有根目录下的临时文件,或者一些其他不用的,具体根据实际情况和网上一些备份情况斟酌,注意在还原的时候你建立这些没有备份的文件。
默认选择下一步。
同上。
问你是否备份并且检测,点击yes下一步。
选择你的系统内核,redhat内核不要改动,其他系统有些需要改动,不用改的直接下一步。
选择yes就进去备份界面了。
该版本存在一个问题(从官网上来看估计是工具的bug),在你备份完系统之后(最好将系统所有软件都停止运行),通过genisoimage命令制作镜像时会报错。
经过查看/var/log/mondoarchive.log日志找到具体的genisoimage命令(通过mkisofs调用,二者之间的关系自行搜索 ),发现工具是想将/home/mondo.scrcath.xxfsca(各人最后的xxfsca不一样)制作成镜像的,但是isolinux.bin存在。于/home/mondo.scrcath.xxfsca/syslinux下,由于genisoimage命令只会在它需要制作的目录/home/mondo.scrcath.xxfsca下搜索,自然找不到啦,那么解决就简单了,直接将syslinux下的文件使用cp命令复制出来即可,然后重试制作(接报错的步骤即可,不需要重头再开始),等待几分钟,系统就会提示你制作成功了,然后到默认路径下查看是否生成iso文件即可。
至此你linux制作镜像就算成功了。
通过软通牒在win上刻录好光盘(如果你有两个iso文件当然刻录两个啦),能刻录的光驱会标记有DVD_RM等字样,刻录成功之后,在另外的机器上试着还原,有四个命令供你选择,一般选择第一个自动恢复(如果你不需要重新分区什么的)。
然后就是等待,十几分钟基本就搞定。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)