戳蓝字“CSDN云计算”关注我们哦!
容器技术是这两年热门的话题,因为容器技术给我们带来了很多方便的地方,节约了不少成本,不管是在运维还是开发上。今天,就让我们来看看关于容器更加有深度的问题吧。
1
Q:什么是容器?你为什么需要它们?
A:容器是针对以下问题的解决方案:在切换运行环境后,如何保证软件能够可靠地运行?这种切换可能是从程序员的笔记本电脑到测试环境、从某个测试阶段部署到线上,也可能是从数据中心的某台物理机到私有云或者公有云上的某台虚拟机。
Q:“容器”如何解决“你在Python2.7下测试,线上却运行着Python3,奇怪的事情就发生了;或者你依赖具体某个SSL版本的功能,但服务器上却安装着另外版本的SSL;你在Debian系统上进行了测试,生产环境却是Red Hat,那各种各样的奇怪的事情就会发生。”这些问题?
A:简单地说,一个容器包含了完整的运行时环境:一个应用、这个应用所需的全部依赖、类库、其他二进制文件、配置文件,它们统一被打入了一个包中。通过将应用平台和其依赖容器化,操作系统发行版本和其他基础环境造成的差异,都被抽象掉了。
Q:虚拟机和容器有些类似,那么二者之间有什么区别呢?
A:使用虚拟化技术时,可以被分发的文件包是一台虚拟机,它包含了整个操作系统和应用。一台运行着三个虚拟机的物理服务器,需要有一个管理虚拟机软件的中间层,以及运行在这个中间层之上的三个独立操作系统。
Q:如何修改容器的 /etc/hosts 文件?
A:容器内的 /etc/hosts 文件不应该被随意修改,如果必须添加主机名和 IP 地址映射关系,应该在 docker run 时使用 --add-host 参数,或者在 docker-compose.yml 中添加 extra_hosts 项。不过在用之前,应该再考虑一下真的需要修改 /etc/hosts 么?如果只是为了容器间互相访问,应该建立自定义网络,并使用 Docker 内置的 DNS 服务。
Q:容器是怎样运作的?二者之间,哪个更有优势呢?
A:相较之下,一台运行着三个容器应用的服务器,只需要一个操作系统,而每个容器都可以和别的容器共享同一个操作系统内核。操作系统中被容器共享的部分是只读的,如果需要写入,每个容器都可以挂载独立的服务。这也就是说,容器比虚拟机要轻量级很多,它消耗的资源相较于虚拟机也少得多。
小伙伴们冲鸭,后台留言区等着你!
关于容器,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……
同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~
福利
扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!
推荐阅读:
如何快速深入理解监控知识? | 技术干货
为什么说深耕AI领域绕不开知识图谱?
ARM 发布新一代 CPU 和 GPU,实现 20% 性能提升!
比特币冲到9000美元, 你就能找个好工作?
1000 万个“AI 名师”:用机器算法“解剖”应试教育
阿里面试,我挂在了第四轮……
10个爬虫工程师必备的工具了解一下
真香,朕在看了!