如何合并两个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
"print
$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 映像合并为一个?

如果在docker镜像中创建了文件,如何签出分支?

如何从Docker Registry中导出镜像

用了SpringBoot 2.3.0 这个新特性,从此构建Docker镜像贼快!

带有混合基础镜像的 Docker 镜像

docker基础镜像包制作