博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker系列学习之一——何为Docker?
阅读量:6453 次
发布时间:2019-06-23

本文共 1269 字,大约阅读时间需要 4 分钟。

hot3.png

        何为Docker?

 

一、何为Docker

 

         Docker 是一个开源的应用容器(container引擎(轻量级虚拟机),可以轻松的为任何应用创建一个轻量级的、可移植的、可隔离的、自给自足的容器。

 

         超轻量的虚拟机:Docker 几乎就没有什么虚拟化的东西,并且直接复用了 Host 主机的 OS,提供类似虚拟机(KVM)之类的OS

 

         可移植:用户的实例可以很方便地,在Unix上进行复制、移动和重建,docker(主要)利用AUFS实现,别忘了,虚拟机(KVM)是可以迁移的。

 

         可隔离:每个用户实例之间的数据和内存空间相互隔离,以保证一定的安全性。

 

         自给自足的容器:每一个docker实例,包含了所有的环境依赖关系。

 

         一个做好的应用容器,好像一个装好了一组特定应用的虚拟机一样。

 

简单理解:

 

1、应用环境:MySQL

 

2、方案:MySQL的容器(DockerMySQL的虚拟机(KVM)?

 

         ①、MySQL的容器(Docker):

                   有了容器,你就相当于有了一个可以运行起来的虚拟机,只要你能运行容器,MySQL的配置就全省了。而且想迁移到别的机器,直接把这个容器端起来(docker save),再放到另一个机器(docker load)就好了。硬件,操作系统,运行环境什么的都不需要考虑了,除了数据以外

 

 

 

       ②、MySQL的虚拟机(KVM):

                   MySQL的话可能要再装一堆依赖库,根据你的操作系统平台和版本进行设置,有时候还要从源代码编译报出一堆莫名其妙的错误,可不是这么好装。而且万一你机器挂了,所有的东西都要重新来,可能还要把配置在重新弄一遍。

 

3、测试与生产环境:

 

         在公司中的一个很大的用途,就是可以保证线下的开发环境、测试环境和线上的生产环境一致。

 

Baidu 经常碰到这样的事情,开发把东西做好了给测试去测,一般会给一坨代码和一个介绍上线步骤的上线单。结果代码在测试机跑不起来,开发就跑来跑去看问题,一会儿啊这个配置文件忘了提交了,一会儿啊这个上线命令写错了。找到了一个 bug 提上去,开发一看,啊我怎么又忘了把这个命令写在上线单上了。

 

类似的事情在上线的时候还会发生,变成这个软件的版本和我机器上的不一样……在 Amazon 的时候,由于一个开发直接担任上述三个职位,而且有一套自动化部署的机制所以问题会少一点,但是上线的时候大家还是胆战心惊。

 

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

 

         Google 为全球用户提供互联网服务,需要在分布在全球各地的服务器上部署相关应用程序。

 

传统的部署模式下,Google 工程师需要在每一台服务器上进行相当复杂的操作才能够完成部署。

如果使用 Docker,工程师在全球各地服务器上部署应用的过程将变得非常简单,只需要将应用打包、复制、传送、导入即可完成部署。

 

转载于:https://my.oschina.net/fufangchun/blog/425381

你可能感兴趣的文章
贪吃蛇java程序简化版_JAVA简版贪吃蛇
查看>>
poi java web_WebPOI JavaWeb 项目 导出excel表格(.xls) Develop 238万源代码下载- www.pudn.com...
查看>>
java 顶点着色_金属顶点着色器绘制纹理点
查看>>
php扩展有哪些G11,php 几个扩展(extension)的安装笔记
查看>>
ajax长连接 php,ajax怎么实现服务器与浏览器长连接
查看>>
oracle报1405,【案例】Oracle报错ORA-15054 asm diskgroup无法mount的解决办法
查看>>
php 5.4.24 win32,PHP 5.4.14 和 PHP 5.3.24 发布
查看>>
oracle top pid,Linux Top 命令解析 比较详细
查看>>
grub如何进入linux系统,Linux操作系统启动管理器-GRUB
查看>>
linux pbs 用户时间,【Linux】单计算机安装PBS系统(Torque)与运维
查看>>
linux系统可用内存减少,在Linux中检查可用内存的5种方法
查看>>
linux 脚本map,Linux Shell Map的用法详解
查看>>
如何在linux系统下配置共享文件夹,如何在windows和Linux系统之间共享文件夹.doc
查看>>
thinkpad装linux无线网卡驱动,ThinkPad E530 Fedora 20 下无线网卡驱动的安装
查看>>
linux操作系统加固软件,系统安全:教你Linux操作系统的安全加固
查看>>
linux中yum源安装dhcp,24.Linux系统下动态网络源部署方法(dhcpd)
查看>>
linux屏幕复制显示出来的,linux – stdout到gnu屏幕复制缓冲区
查看>>
一起学Shell(十)之可称植性议题与扩展
查看>>
部署Ganglia监控Hadoop&Hbase
查看>>
gitlab的用户使用手册
查看>>