当前位置: 首页 > news >正文

opencloudos容器镜像优化

前言

目前因为官方的容器也在移植阶段,并且系统是刚出来的,各方面的应该都会慢慢完善,因为之前也做了相关的移植,所以移植的作为备选的即可

测试发现官方的容器目前还有一些需要处理一些东西,本篇就是简单的介绍怎么用官方的容器,以及存在的问题,最后提供下我自己移植好的容器

官方容器使用方法

拉取镜像

这个操作是使用容器的常规操作了,官方也都发布到了docker hub里面,直接拉取即可

[root@lab101 /]# docker pull opencloudos/opencloudos:8.6
[root@lab101 /]# docker image ls
docker.io/opencloudos/opencloudos   8.6                 85381566b97e        7 days ago               280 MB

可以看到官方的为280MB

启动容器

[root@lab101 /]# docker run --name opencloudos  --net=host  --hostname=opencloudos  -dit   --privileged=true  opencloudos/opencloudos:8.6   /sbin/init
bbe06493e7b2305b430c635c23b06b6eeca7d0df38ebfa6a9ab8428a39f1b11c

进入容器

[root@lab101 /]# docker exec -it opencloudos /bin/bash
bash-4.4#

可以看到进入容器是显示的bash-4.4不是主机名
可以看到

bash-4.4# ls /root/

root下面是空的
应该是要有下面的

[root@centos8 /]# ls /root/.
./             ../            .bash_history  .bash_logout   .bash_profile  .bashrc        .cshrc         .tcshrc

检查常用包

bash-4.4# rpm -qa|grep hostname
bash-4.4# rpm -qa|grep vi
device-mapper-1.02.181-3.oc8.x86_64
device-mapper-libs-1.02.181-3.oc8.x86_64

发现vi和hostname命令都没加进去,这里基本的包还是保持比较好,这个在centos8的官方容器里面都做了保留

上面的主机名的处理也可以自己修改/root/.下面做处理做恢复,相关的包也可以自己安装下即可

优化

基于官方容器的优化,这个实际上我是基于操作系统,然后按centos8的容器包的标准,以及根据centos8的裁剪力度,来做的容器包

[root@lab101 /]# docker pull zphj1987/opencloudos:8.6

使用上面的就可以拿到opencloudos的8.6的容器版本,容器大小做到了跟官方的centos8基本一致的大小

[root@lab101 /]# docker pull zphj1987/opencloudos:8.6
Trying to pull repository docker.io/zphj1987/opencloudos ...
8.6: Pulling from docker.io/zphj1987/opencloudos
e6ad0a38566d: Downloading [>                                                  ] 528.9 kB/87.57 MB

容器iamge大小

[root@opencloud ~]# docker image ls
zphj1987/opencloudos   8.6              8779b4d2cd5c   5 hours ago     227MB

基本跟centos官方的 231 MB大小一致

做容器过程的一个经验

如果改了容器,不要在原来的基础上面commit,直接export出来,然后创建成新的容器,这样是一个比较简单的控制容器大小的方法,一直commit会叠加容器的大小

对待问题的方法

  • 发现问题
  • 提出方案
  • 解决问题

反馈

如果有技术问题可以联系:

  • zphj1987@gmail.com

开源摘星计划

本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:https://github.com/weopenprojects/WeOpen-Star

相关文章:

  • 二.go语言条件与循环
  • 高阶函数1
  • 电子信息考研择校
  • 互联网数据管理平台
  • 本科行政管理毕业论文什么题目好写点?
  • kmp の 笔记
  • 最新网站证书提示风险的原因和几个解决方法
  • lambda表达式(C++11)
  • java计算机毕业设计图书共享系统源代码+数据库+系统+lw文档
  • 用Python生成Hilbert矩阵
  • 云计算与云原生
  • JBoss安装并部署war包
  • VGG论文
  • Tableau1——条形图和直方图
  • 微信小程序新手向——界面布局
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • [译]Python中的类属性与实例属性的区别
  • 【译】理解JavaScript:new 关键字
  • CSS实用技巧干货
  • ECS应用管理最佳实践
  • Flannel解读
  • JavaWeb(学习笔记二)
  • js面向对象
  • php的插入排序,通过双层for循环
  • PHP的类修饰符与访问修饰符
  • Python_OOP
  • spring学习第二天
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 闭包,sync使用细节
  • 测试开发系类之接口自动化测试
  • 线上 python http server profile 实践
  • 用Python写一份独特的元宵节祝福
  • 云大使推广中的常见热门问题
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $$$$GB2312-80区位编码表$$$$
  • ()、[]、{}、(())、[[]]命令替换
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (C语言)球球大作战
  • (function(){})()的分步解析
  • (HAL库版)freeRTOS移植STMF103
  • (Java数据结构)ArrayList
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (十八)三元表达式和列表解析
  • (一)RocketMQ初步认识
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)linux 命令大全
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全