玩转docker

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 开篇先论赌   (组词,赌博,....),时刻,每天都在赌!   何为赌?仁者见仁,智者必定又有一番见解,保持沉默,意见保留; ——改变思维模式,Ruiy让赌赢在“思维”!!!; 存在在IT界Ruiy定格,即是 --要,时刻像linux一样思考,像UPS一样行动行动,像Amazon一样微笑;...

开篇先论赌

  (组词,赌博,....),时刻,每天都在赌!

  何为赌?仁者见仁,智者必定又有一番见解,保持沉默,意见保留;

——改变思维模式,Ruiy让赌赢在“思维”!!!;

存在在IT界Ruiy定格,即是 --要,时刻像linux一样思考,像UPS一样行动行动,像Amazon一样微笑;

存在,就需时刻思考,思考怎么赌?才能赢的漂亮!;

趋势就像一匹马,如果在马后面追,你永远都追不上,你只有骑在马上面,才能和马一样的快,这就叫马上成功;

君子必做的2件事(有仇必报,不然恶气难出,伤身!,有恩必报,哪怕肝脑涂地,Ruiy 追捧此),你请别效仿,Ruiy武侠剧看多了,Ruiy更喜大德有度之人,更青睐敬畏高手,更乐意结交志和意投者,你是吗?

引领时代的都是“骗子”:

那些说别人是骗子的人,生活一成不変,生活质量一天比一天差!而那些当年所谓的“骗子”却成了时代的标志!!

(警,)“先知先觉经营者;后知后觉跟随者;不知不觉消费者!借;造船过河不如借船过河。
趋势,无法阻挡;
抉择,要有智慧!

阅人无数不如名师指路,
名师指路不如重叠成功人的脚步
面对挑战你该怎么办?
请铭记,不要等到明天,明天太遥远,今天就行动,实时赌一把.

扯不下去了,词穷了,哈,好吧;就扯到此,止步吧,该谈正事 了,别玩物丧志,别 学阿斗,乐不思蜀,别....!

---"找准时机适当赌一把,说不定你就成功了!";

现在跟Ruiy一起玩转Docker 轻量虚机:

https://docs.docker.com/installation/centos/ 【docker offical doc】

//by Ruiy

//rui认为,这年头,技术更替TM非常快,技术越玩越简单,越搞越轻巧,越搞越sb,关键 是玩家别被搞成sb了!;

(注,玩大数据谁不开玩spark机器学习神马的,连cloudera都对其清眸了,不然难道就玩玩js,搞搞SQL,弄弄简单c++/java  类对象方法调用 !,玩开源-虚拟化谁不玩kvm,然根据当前事态 将来不会Docker,你还能说你是玩虚机的?你还能混吗?)

docker VM(概词,你懂的)简单区别;

官网的介绍是这样的:

Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications....

此处Ruiy也想啰嗦了,不要放过一个文字,标点,(概之就是看东西不要放过任何一个字符,因为每个字符都有它存在的必要性,有它存在的意思,不然它还有必要存在吗?)

一句话往往能够......;

docker与VM主要区别在于性能优势(其中VM每虚拟一个VM,均要跑一个guest OS,而docker不用,每个物理机器能跑上千个Docker,而能虚拟几个VM?,docker仅仅隔离进程,与缩主机共享OS,别的不瞎解析了,Ruiy也就这层次,deepin请移步offical station read offical document,Thanks!!!),部分摘自interNet,加了些水,煮现与此;

其 实看完这句话还是不明白究竟是啥的,下面就慢慢解释。不过长话短说的话,把他想象成一个用了一种新颖方式实现的超轻量虚拟机,在大概效果上也是正确的。当 然在实现的原理和应用上还是和VM有巨大差别的,并且专业的叫法是应用容器(Application Container)。

为啥要用容器?

那么应用容器长什么样子呢,一个做好的应用容器长得就好像一个装好了一组特定应用的虚拟机一样。比如我现在想用MySQL那我就找个装好MySQL的容器,运行起来,那么我就可以使用 MySQL了。

那 么我直接装个 MySQL不就好了,何必还需要这个容器这么诡异的概念?话是这么说,可是你要真装MySQL的话可能要再装一堆依赖库,根据你的操作系统平台和版本进行 设置,有时候还要从源代码编译报出一堆莫名其妙的错误,可不是这么好装。而且万一你机器挂了,所有的东西都要重新来,可能还要把配置在重新弄一遍。但是有 了容器,你就相当于有了一个可以运行起来的虚拟机,只要你能运行容器,MySQL的配置就全省了。而且一旦你想换台机器,直接把这个容器端起来,再放到另 一个机器就好了。硬件,操作系统,运行环境什么的都不需要考虑了。

在公司中的一个很大的用途就是可以保证线下的开发环境、测试环境和线上的 生产环境一致。当年在 Baidu 经常碰到这样的事情,开发把东西做好了给测试去测,一般会给一坨代码和一个介绍上线步骤的上线单。结果代码在测试机跑不起来,开发就跑来跑去看问题,一会 儿啊这个配置文件忘了提交了,一会儿啊这个上线命令写错了。找到了一个 bug 提上去,开发一看,啊我怎么又忘了把这个命令写在上线单上了。类似的事情在上线的时候还会发生,变成啊你这个软件的版本和我机器上的不一样……在 Amazon 的时候,由于一个开发直接担任上述三个职位,而且有一套自动化部署的机制所以问题会少一点,但是上线的时候大家还是胆战心惊。

若果利用容器的话,那么开发直接在容器里开发,提测的时候把整个容器给测试,测好了把改动改在容器里再上线就好了。通过容器,整个开发、测试和生产环境可以保持高度的一致。

此外容器也和VM一样具有着一定的隔离性,各个容器之间的数据和内存空间相互隔离,可以保证一定的安全性。

那为啥不用VM?

那么既然容器和 VM 这么类似为啥不直接用 VM 还要整出个容器这么个概念来呢?Docker 容器相对于 VM 有以下几个优点:

  • 启动速度快,容器通常在一秒内可以启动,而 VM 通常要更久
  • 资源利用率高,一台普通 PC 可以跑上千个容器,你跑上千个 VM 试试
  • 性能开销小, VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部分占据了额外的资源

为啥相似的功能在性能上会有如此巨大的差距呢,其实这和他们的设计的理念是相关的。 VM 的设计图如下:

 

VM 的 Hypervisor 需要实现对硬件的虚拟化,并且还要搭载自己的操作系统,自然在启动速度和资源利用率以及性能上有比较大的开销。而 Docker 的设计图是这样的:

 

Docker 几乎就没有什么虚拟化的东西,并且直接复用了 Host 主机的 OS,在 Docker Engine 层面实现了调度和隔离重量一下子就降低了好几个档次。 Docker 的容器利用了 LXC,管理利用了 namespaces 来做权限的控制和隔离, cgroups 来进行资源的配置,并且还通过 aufs 来进一步提高文件系统的资源利用率。

其中的 aufs 是个很有意思的东西,是 UnionFS 的 一种。他的思想和 git 有些类似,可以把对文件系统的改动当成一次 commit 一层层的叠加。这样的话多个容器之间就可以共享他们的文件系统层次,每个容器下面都是共享的文件系统层次,上面再是各自对文件系统改动的层次,这样的话极 大的节省了对存储的需求,并且也能加速容器的启动。

 <二,Docker for Centos intall use epel yum repo>

https://fedoraproject.org/wiki/EPEL [epel introduce]

note that due to the current Docker limitations, Docker is able to run only on the 64 bit architecture

我们在此提醒下大家,简单玩转一下32bits/64bits优异(别的我就不说了,玩过mongoDB的大家都知道,mongoDB对32bit arch架构机器对其fileSize有限制 ,<=2G,而对64bit大小不上限,只要你的 磁盘允许,docker不支持 32bit,到此,至于别的我就不多说什么了,你懂的!)

我也就 扯扯淡,信的听一耳朵,不屑的,请左眼进,右眼出,或请.....洗洗睡,......;

先这么带一耳朵,(大家都知道Docker 基于LXC玩转,具体,见更具体的....)

 

简单测试用使用epel  yum repo安装 docker-io即可;

 

 

终极8步初步玩转Docker 新一代轻量级虚拟化技术.

(再忆使用EPEL repo yum安装docker-io)

01,Docker engine 组成,版本信息

  daemon server process manaes all containers,client(remot control daemons),docker 版本  [root@ruiy /]#docker version;

 02,searching images

  使用命令行搜索image

  doocker search <string,imageName>,container image are available on the docker hub register,a cloud-based collection of application;

03,下载Docker container images

  docker pull

  images in the docker hub register the name you specify is constructed as <username>/<repository>

 04,output string;

  

05,

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
2天前
|
人工智能 JavaScript Linux
【Claude Code 全攻略】终端AI编程助手从入门到进阶(2026最新版)
Claude Code是Anthropic推出的终端原生AI编程助手,支持40+语言、200k超长上下文,无需切换IDE即可实现代码生成、调试、项目导航与自动化任务。本文详解其安装配置、四大核心功能及进阶技巧,助你全面提升开发效率,搭配GitHub Copilot使用更佳。
|
4天前
|
存储 人工智能 自然语言处理
OpenSpec技术规范+实例应用
OpenSpec 是面向 AI 智能体的轻量级规范驱动开发框架,通过“提案-审查-实施-归档”工作流,解决 AI 编程中的需求偏移与不可预测性问题。它以机器可读的规范为“单一真相源”,将模糊提示转化为可落地的工程实践,助力开发者高效构建稳定、可审计的生产级系统,实现从“凭感觉聊天”到“按规范开发”的跃迁。
732 12
|
4天前
|
消息中间件 人工智能 Kubernetes
阿里云云原生应用平台岗位急招,加入我们,打造 AI 最强基础设施
云原生应用平台作为中国最大云计算公司的基石,现全面转向 AI,打造 AI 时代最强基础设施。寻找热爱技术、具备工程极致追求的架构师、极客与算法专家,共同重构计算、定义未来。杭州、北京、深圳、上海热招中,让我们一起在云端,重构 AI 的未来。
|
8天前
|
存储 JavaScript 前端开发
JavaScript基础
本节讲解JavaScript基础核心知识:涵盖值类型与引用类型区别、typeof检测类型及局限性、===与==差异及应用场景、内置函数与对象、原型链五规则、属性查找机制、instanceof原理,以及this指向和箭头函数中this的绑定时机。重点突出类型判断、原型继承与this机制,助力深入理解JS面向对象机制。(238字)
|
7天前
|
云安全 人工智能 安全
阿里云2026云上安全健康体检正式开启
新年启程,来为云上环境做一次“深度体检”
1627 6
|
6天前
|
IDE 开发工具 C语言
【2026最新】VS2026下载安装使用保姆级教程(附安装包+图文步骤)
Visual Studio 2026是微软推出的最新Windows专属IDE,启动更快、内存占用更低,支持C++、Python等开发。推荐免费的Community版,安装简便,适合初学者与个人开发者使用。
783 11
|
6天前
|
人工智能 Shell 开发工具
Claude Code 2.1.2超详细更新说明,小白也能10分钟上手
Claude Code 2.1.x重磅更新:Shift+Enter换行、Esc+Esc撤销、Ctrl+B后台运行,Skills技能系统全面升级,支持多语言、通配符权限与动态MCP检测,性能提升50%,迭代速度惊人,开发者效率暴涨!
Claude Code 2.1.2超详细更新说明,小白也能10分钟上手
|
3天前
|
存储 人工智能 测试技术
【Claude Skills】从原理到实战的完全指南
Claude Skills通过模块化设计,将AI变为领域专家,实现工作流标准化。它支持指令封装、自动触发与脚本集成,提升复用性与协作效率,适用于个人提效与团队协同,是AI定制化的新范式。
|
3天前
|
人工智能 JavaScript 前端开发
【2026最新最全】一篇文章带你学会Cursor编程工具
本文介绍了Cursor的下载安装、账号注册、汉化设置、核心模式(Agent、Plan、Debug、Ask)及高阶功能,如@引用、@Doc文档库、@Browser自动化和Rules规则配置,助力开发者高效使用AI编程工具。
416 4