一、本身PaaS环境不能访问外网的操作
1、首先准备好镜像tar包,上传到镜像服务器的/root目录下
执行命令为:docker load -i 镜像.tar,如图所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190401181619944.png)
2、给镜像重新打上标记,并且登陆到镜像服务器
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190401181825666.png)
3、给重新打上标记的镜像push上传到镜像harbor仓库中
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190401182016559.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NkYmRxbjAwMQ==,size_16,color_FFFFFF,t_70)
二、当前PaaS环境可以连接外网
1、可以连接外网就直接用docker pull + 镜像名
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190401183753826.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NkYmRxbjAwMQ==,size_16,color_FFFFFF,t_70)
2、给pull下来的镜像重新打上tag标签
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190401191020963.png)
3、将重新打好标签的镜像push到harbor镜像仓库
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190401191108425.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NkYmRxbjAwMQ==,size_16,color_FFFFFF,t_70)
以上两种方式唯一不同的就是有外网和没有外网。其它都是一样的
三、如何压缩打包镜像文件
1、首先从公司镜像仓库把需要的镜像文件版本拉到当前服务器中
执行docker pull registry.c2cloud.cn/c2cloud/pp-web:v1.1.4
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190416163624256.png)
2、压缩打包拉取下来的镜像文件执行:docker save + 镜像ID或者名字> /root/pp-web.tar.gz
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019041616401149.png)
3、将压缩打包好的镜像文件拷贝到需要替换版本的环境中去,一般使用Xftp实现宿主机与Linux虚拟机的文件传输。
4、镜像压缩文件上传到Linux虚拟机之后,执行命令:docker load -i + 镜像压缩包文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190416164303217.png)
这里要注意:因为我之前压缩的时候是使用的镜像id来压缩的,所以这里load之后呈现的也是镜像的id,然后docker images 命令查看刚刚解压缩的镜像发现没有名字和标签。如图
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190416164457181.png)
此时可以为这个没有名字和tag标签的镜像重新打上名字和标签
执行命令:[root@10-153-220-24 ~]# docker tag cb58217c0939 10.153.220.12/admin/pp-web:v1.1.4
5、将重新打好标签和名字的镜像上传至当前环境的harbor镜像仓库(前提是要先登录执行
docker login + harbor地址)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190416164732307.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NkYmRxbjAwMQ==,size_16,color_FFFFFF,t_70)
四、如何批量打包镜像文件
1、批量打包镜像文件,不过滤不指定,把本地所有的镜像文件统统都打包
docker save $(docker images | grep -v REPOSITORY | awk 'BEGIN{OFS=":";ORS=" "}{print $1,$2}') | gzip > apm.tar.gz
2、批量打包镜像文件,过滤指定要打包的镜像文件
docker save $(docker images | grep registry.c2cloud.cn|grep k8s|grep -v REPOSITORY | awk 'BEGIN{OFS=":";ORS=" "}{print $1,$2}') | gzip > apm.tar.gz
只打包前缀为 registry.c2cloud.cn、含有k8s的镜像文件
3、解压缩打包的镜像文件
docker load -i apm.tar.gz
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190429103922512.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NkYmRxbjAwMQ==,size_16,color_FFFFFF,t_70)
五、批量删除镜像
1、批量删除包含registry.c2cloud.cn/k8s字段的镜像,过滤删除
docker rmi --force $(docker images | grep registry.c2cloud.cn/k8s | awk '{print $3}')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)