Docker 入门:什么是 Docker ?

Docker 解决了软件环境部署复杂的问题。linux

对于一个传统的软件工程,开发人员把写好的代码放到服务器上去运行是一件很头疼的事情,由于经常会出现环境不兼容而致使各类各样的 Bug。windows

好比说,开发是在 windows 系统下编写的代码,放到 linux 服务器上可能会出问题;开发在本地依赖了一个系统自带的驱动,服务器上却没有这个驱动;开发在本地设置了不少环境变量,服务器上又得从新设置。。。centos

在软件部署的时候,常常会发生在这台机器上能够跑,可是在另外一台机器上却运行失败的状况。运维人员须要不断在开发环境和服务器环境之间调试。服务器

有了 Docker, 只须要简单的几行命令,就能够作到全部的运行环境都一致。架构

Docker 简化了环境配置流程Docker 简化了环境配置流程运维

Docker 使用的技术几乎没有新技术,大可能是对 Linux 已经存在的技术的封装。Docker 中的容器,是使用 Linux 以前的一些技术,把开发须要设置的环境,所有隔离在一块儿,造成一个集装箱。当有其余的环境须要配置的时候,只须要复制一个集装箱就能够了。微服务

容器能够轻松建立和销毁容器能够轻松建立和销毁工具

在环境配置的时候,还能够使用建立虚拟机的方式来实现环境同步。若是服务器用的是 centos 的系统,能够在开发的时候就用 centos 开发。这确实解决了一些问题,可是仍是须要去独立配置每一台机器。并且,虚拟机自己对多个程序之间的环境不兼容的时候无能为力,可能须要借助第三方的一些管理工具,而 Docker 却能够轻松在一台机器上运行多个容器。云计算

Docker 容器和虚拟机Docker 容器和虚拟机spa

容器不是一台机器。Docker 利用的是 Linux 的资源分离机制,例如 cgroups,以及 Linux 核心命名空间(namespaces),来创建独立的容器(containers)。容器看上去是一台机器,其实是一个进程。

相比于虚拟机,容器的优点主要有:

  • 资源占用少
  • 启动速度快
  • 自己体积小

Docker 给软件开发领域带来的不单单是提供环境,能够说它直接带火了 Golang。由于 Docker 容器建立和销毁很是方便,很适合用来动态扩容和缩容,能够直接用在云计算当中的弹性服务当中。另外,基于 Docker 容器的隔离特性,一台服务器上能够同时跑不少个程序而作到管理方便,很符合微服务架构的须要。

相关文章
相关标签/搜索