压缩docker层数的新思路

简介: 压缩docker层数的新思路

随着不断构建docker镜像,造成了镜像越来越大

那么我们可以在目标镜像中先压缩整个系统

1.删除多余文件
2.压缩整个系统
3.拖拽轻量级镜像
docker run -tdi --name ubuntu1 ubuntu /bin/bash
4.docker cp 备份文件 ubuntu1:备份文件
5.解压备份文件,重新保存提交镜像

详细过程

#查看较大的文件
cd /
du -shm * | sort -nr
#删除
rm -rf 较大文件
#备份系统
nohup tar cvpzf /backup20191222.tgz --exclude=/proc --exclude=/nohup.out  --exclude=/backup20191202.tgz --exclude=/mnt --exclude=/sys/  --exclude=/run  / &
#创建新环境
docker run -tdi --name ubuntu1 ubuntu /bin/bash
docker exec -it ubuntu1 /bin/bash
#在新容器中还原系统
tar xvpfz /backup20191222.tgz -C /
#删除备份
rm -rf /backup20191222.tgz
#提交镜像
docker commit ubuntu1 registry.cn-hangzhou.aliyuncs.com/mkmk/gpujupyter:sshtf20b1
#推送阿里云保存
docker push  registry.cn-hangzhou.aliyuncs.com/mkmk/gpujupyter:sshtf20b1

压缩物体检测镜像

首先在完成的容器中打包
nohup tar cvpzf /backup20191225.tgz --exclude=/proc --exclude=/nohup.out  --exclude=/backup20191225.tgz  --exclude=/mnt --exclude=/sys/  --exclude=/run  / &
输出
tar: Removing leading / from member names /
说明开始压缩
/sshd.sh
tar: Exiting with failure status due to previous errors
压缩完成, 压缩有报错,不用管它
下载压缩文件保存
新建容器
docker run -tdi   --net mynet10  --ip 10.10.20.3  --name  litecentos  --privileged=true centos:7  init
#进入容器
docker exec -it litecentos /bin/bash
#查看centos版本
cat /etc/centos-release
CentOS Linux release 7.7.1908 (Core)
(centos8 兼容性和 7不一样,先不采用)
#宿主机执行
#把备份文件还原到 centos镜像
 docker cp C:\work\fdockeriles\backup20191225.tgz litecentos:/backup20191225.tgz
#进入容器解压文件
#进入容器
docker exec -it litecentos /bin/bash
cd /
#在新容器中还原系统
tar xvpfz /backup20191225.tgz -C /
#删除备份
rm -rf /backup20191225.tgz
测试一下
systemctl enable sshd
如果没有输出代表没有问题
 locale 
 输出如果不是 zh_CN.utf8 或者 C.utf8
 则查看
  locale -a
[root@35db6a27e296 /]# locale -a
C
en_US.utf8
POSIX
zh_CN.utf8
 export LANG=zh_CN.utf8
 或者  export LANG=C.utf8
#提交镜像
docker commit litecentos registry.cn-hangzhou.aliyuncs.com/mkmk/tfmodels:cpu14
#推送阿里云保存
docker push  registry.cn-hangzhou.aliyuncs.com/mkmk/tfmodels:cpu14
压缩镜像成功
相关文章
|
4月前
|
缓存 Linux Docker
在Docker中,镜像层级压缩如何实现?
在Docker中,镜像层级压缩如何实现?
|
Linux Shell Docker
怎样压缩Docker 镜像的大小
容器的便捷在于可以很快的搭建基础软件,但是如果你有2G的镜像还要常常pull 和push,还是有些麻烦。我们注意到Docker官方的很多镜像都是使用的Alpine版本的linux, 和我们常见的Ubuntu, Debian, Centos不一样。
2471 0
|
15天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
3天前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
3天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
23 6
|
3天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
13 5
|
3天前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
22 3
|
3天前
|
存储 安全 数据安全/隐私保护
Docker 容器化应用管理更加高效,但数据安全和业务连续性成为关键。
在数字化时代,Docker 容器化应用管理更加高效,但数据安全和业务连续性成为关键。本文探讨了 Docker 应用的备份与恢复策略,涵盖备份的重要性、内容、方法及常见工具,制定备份策略,恢复流程及注意事项,并通过案例分析和未来趋势展望,强调备份与恢复在保障应用安全中的重要性。
14 2