如何合并两个Docker 镜像
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何合并两个Docker 镜像相关的知识,希望对你有一定的参考价值。
参考技术A 可采用以下方法:1.进入root权限
sudo
su
2.停止所有的container,这样才能够删除其中的images:
docker
stop
$(docker
ps
-a
-q)
如果想要删除所有container的话再加一个指令:
docker
rm
$(docker
ps
-a
-q)
3.查看当前有些什么images
docker
images
4.删除images,通过image的id来指定删除谁
docker
rmi
<image
id>
想要删除untagged
images,也就是那些id为<None>的image的话可以用
docker
rmi
$(docker
images
|
grep
"^<none>"
|
awk
$3")
要删除全部image的话
docker
rmi
$(docker
images
-q)
合并 CentOS 6 的两个DVD镜像
合并 CentOS 6 的两个cdrom镜像
1、相关目录:
/media/cdrom1和/media/cdrom2 用于挂载 Centos 镜像
/media/cdrom3 合并后的镜像文件
/media/iso ISO储存
mkdir -p /media/cdrom1 /media/cdrom2 /media/cdrom3 /media/iso
2、上传 Centos 镜像到服务器,挂载 Centos 镜像文件
mount -o loop /media/iso/CentOS-6.5-x86_64-bin-cdrom1.iso /media/cdrom1
mount -o loop /media/iso/CentOS-6.5-x86_64-bin-cdrom2.iso /media/cdrom2
3、拷贝文件
首先, 拷贝第一张cdrom中的所有文件到 /media/cdrom3 目录下,然后, 只拷贝第二张 cdrom 中 Packages 目录下的所有RPM文件到 /media/cdrom3/Packages 目录下
cp -av /media/cdrom1 /media/cdrom3
cp -v /media/cdrom2/Packages/*.rpm /media/cdrom3/Packages/
4、合并TRANS.TBL
将cdrom2中TRANS.TBL的信息追加到cdrom1中TRANS.TBL后面, 并排序保存
cat /media/cdrom2/Packages/TRANS.TBL >> /media/cdrom3/Packages/TRANS.TBL
mv /media/cdrom3/Packages/{TRANS.TBL,TRANS.TBL.BAK}
sort /media/cdrom3/Packages/TRANS.TBL.BAK > /media/cdrom3/Packages/TRANS.TBL
rm -rf /media/cdrom3/Packages/TRANS.TBL.BAK
cdrom3已经是合并后的文件了,可以用作本地源和做成ISO使用。
5、备份YUM配置文件
cd /etc/yum.repos.d
rename .repo .repo.bak *.repo
6、生成新的YUM配置文件
vi /etc/yum.repos.d/CentOS-Media.repo
[c6-media]
name=CentOS-\$releasever - Media
baseurl=file:///media/cdrom3
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
7、更新YUM源
yum clean all
yum upgrade
8、将 /media/cdrom3/ 打包为 ISO
mkisofs -l -J -L -r -V "CentOS-6.*-x86_64" -o /media/iso/CentOS-6.*-x86_64-cdrom.iso /media/cdrom3
本文出自 “mylinux” 博客,请务必保留此出处http://luxiangyu.blog.51cto.com/9976123/1859511
以上是关于如何合并两个Docker 镜像的主要内容,如果未能解决你的问题,请参考以下文章
如何编写 Dockerfile 将两个或多个 docker 映像合并为一个?