Docker 入门简介

栏目: 编程工具 · 发布时间: 6年前

内容简介:将程序和它的依赖环境打包成可运行的镜像,并在一个通用的统一的环境中运行的过程,就叫容器化.提供这个镜像运行的通用的统一的环境,就叫容器.试想一个稍微复杂的架构,可能要用到这些服务:可能遇到这些问题:

1. 什么是容器化

将程序和它的依赖环境打包成可运行的镜像,并在一个通用的统一的环境中运行的过程,就叫容器化.提供这个镜像运行的通用的统一的环境,就叫容器.

容器化有什么好处?

试想一个稍微复杂的架构,可能要用到这些服务:

  1. MySQL和 MongoDB 作为存储
  2. ES用作数据仓库
  3. 一个文件服务器专门用于落地日志
  4. Kafka用于消息机制和数据流的传输
  5. Redis为整个应用提供缓存支持
  6. ...

可能遇到这些问题:

  1. 由于开发,测试,生产等多个环境造成的重复部署问题
  2. 环境之间的差异导致的应用的不确定性
  3. 架构的日趋复杂化对于运维人员的要求越来越高
  4. 环境迁移的成本越来越高

针对这些问题,容器化给出了解决方案,开发人员构建好镜像,一次构建,处处运行.对于运维人员,只要搭建好用于容器运行的基础环境(利用Docker Machine,甚至只需要配置好系统ssh和sudoer即可),则镜像就可以自动部署并在其中运行.

2. 什么是Docker

Docker is a platform for developers and sysadmins to develop, deploy, and run applications with containers.

这是 Docker 官方给出对Docker的解释.可以看到,从开发到部署再到生产,Docker都可以很好的应对.

3. Docker入门名词解释

对于刚开始接触Docker的人来说,往往被一些概念拒之门外.

Image:即镜像,可以被Docker引擎加载并执行的最小单位.有各种开源软件官方制作的镜像发布在 https://hub.docker.com 上例如Ubuntu,Nginx等.也可以自己制作,然后推送到这里.

Container:约定俗成的翻译叫容器,Image(镜像)是放在Container(容器)中被执行的.

Service:即服务,指具备了更多应用属性的Container,可能光是一个Container还不足以很好的服务于一个应用.Service确定了Container的副本数量,CPU分配,内存分配,重启策略等等属性.可以简单理解为Service是一个Container的更进一步封装,使其更便于参与下一步的管理.

Swarm:即集群.在Swarm中,可以部署多个服务.通俗讲,就是用于一个Docker节点在不足以服务当前应用的时候,我们可以通过Docker Swarm技术将多个节点连接到一个Swarm中,服务于当前应用.每个节点可以是一台主机,也可以是一个虚拟机.

Stack:即栈,其实就是当前业务所需要的服务的集合,也就是整个应用的某一部分,或全部.通常就是指整个应用.

总结:这几个概念是层层递进的,

  1. Swarm除外,Image是最小单位,是一个安装好的服务.
  2. Container时Image运行时的环境,是一个运行中的服务.
  3. Service是一个配置了进程数,CPU,内存分配的更可控的服务.
  4. Stack则是多个Service的集合,用于协同完成各种任务.
  5. 最后是Swarm,是一个用于运行Stack的多"主机"(其实是Docker)环境.
  6. 最终,Docker是提供这一切的一个类似虚拟机但完全不同于虚拟机的高效软件,用于解决之前提到的那些问题.

此外,像是Docker Machine,Docker Network,Docker Compose等等重要概念的存在使得Docker更容易部署,其中Docker Network相比link更好的解决了容器间的连接问题,甚至会为compose配置中的服务自动建立网络.由于本文面向的是Docker的初学者,所以这些概念将在后续博客中详细介绍.

最后更新于 2018-08-05 04:30:06 并被添加「docker」标签,已有 1 位童鞋阅读过。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法分析

数据结构与算法分析

Frank.M.Carrano / 金名 / 清华大学出版社 / 2007-11 / 98.00元

“数据结构”是计算机专业的基础与核心课程之一,Java是现今一种热门的语言。本书在编写过程中特别考虑到了面向对象程序设计(OOP)的思想与Java语言的特性。它不是从基于另一种程序设计语言的数据结构教材简单地“改编”而来的,因此在数据结构的实现上更加“地道”地运用了Java语言,并且自始至终强调以面向对象的方式来思考、分析和解决问题。 本书是为数据结构入门课程(通常课号是CS-2)而编写的教......一起来看看 《数据结构与算法分析》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具