这个《Docker入门》系列文档,是我根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成。主要是作为个人学习记录。有错误的地方,Robin欢迎大家指正。总体分为如下几个部分:

1 Docker入门:简介

2 Docker入门:安装运行

3 Docker入门:容器(Containers)

4 Docker入门:服务(Services)

5 Docker入门:Swarms

6 Docker入门:Stacks

7 Docker入门:部署app

8 Docker入门:稍高级的话题

1.1 容器简介

映像(image)就是轻型的、独立的可执行的包(package)。这个包包括了运行一个程序所需要的所有东西,包括:代码,运行时,库,环境变量和配置文件。

容器(container)是映像的运行时实例:映像被加载到内存并执行。默认情况下,容器运行和主机环境是完全隔离的,只是根据需要访问主机文件和配置的主机端口。

容器是直接在主机的内核里运行程序的。而虚拟机是通过hypervisor取得主机资源的虚拟访问权限,相比之下,容器的运行方式性能更好。容器能直接访问主机,每一个容器运行在一个单独的、隔离的进程中,大家所占用的内存也都一样。

1.2 容器VS虚拟机

通过下面两张图进行对比。

虚拟机:

虚拟机运行子操作系统:主意每个盒子里的OS层。这种方式是资源敏感的,并且磁盘映像和应用程序的状态受到很多因素的影响,比如:OS设置,系统安装的依赖,OS安全补丁,以及容易丢失、难以复制的因素。

容器:

多个容器能够共享同一个内核。容器映像中所需要的信息只是可执行程序及其依赖包,而这些信息并不需要安装在主机系统中。这些进程像原生进程一样,你可以使用命令docker –ps来单独管理它们,就像你在Linux系统中使用命令ps来查看活动进程一样。最后,因为容器包含所有的依赖,也不需要额外配置,所以,一个容器化的程序可以运行在任何地方。

1.3 总结

作为一个独立的、可移植的可执行程序,这种可伸缩性具有深远的意义。它意味着CI/CD可以针对分布式程序的任何一个部分来推送更新。系统依赖不再成为问题,并且资源的聚合性也增加了。可伸缩行为的编排只要螺旋添加新的可执行程序就可以了,而不需要添加新的虚拟机系统。

Docker入门(一):简介的更多相关文章

  1. docker入门——镜像简介

    什么是docker镜像 Docker镜像是由文件系统叠加而成. 最底端是一个引导文件系统,即bootfs: 这很像典型的Linux/Unix的引导文件系统.Docker用户几乎永远不会和引导文件系统有 ...

  2. Docker入门(七):部署app

    这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...

  3. Docker入门(六):Stacks

    这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...

  4. Docker入门(五):Swarms

    这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...

  5. Docker入门(四):服务(Services)

    这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...

  6. Docker入门(三):容器(Containers)

    这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...

  7. Docker入门(二):安装/卸载

    这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...

  8. Docker入门系列1:简介

    可以实现快速部署. 比如一台 16 核 32G 内存的虚拟机上,需要跑 500+ 个用户的应用(每个应用的功能可以认为是一个网站 + 一系列的 RESTful API),有两个事情很重要: 资源隔离: ...

  9. redis哨兵集群、docker入门

    redis-sentinel主从复制高可用 Redis-Sentinel Redis-Sentinel是redis官方推荐的高可用性解决方案,当用redis作master-slave的高可用时,如果m ...

随机推荐

  1. C#游戏开发高速新手教程Unity5.5教程

    C#游戏开发高速新手教程Unity5.5教程 试读文档下载地址:http://pan.baidu.com/s/1slwBHoD C#是微软公布的高级程序设计语言.这门语言和C语言一样,已经成为了大学计 ...

  2. There are two different types of export, named and default

    export - JavaScript | MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statemen ...

  3. php.ini的几个关键配置

    safe_mode = On safe_mode_gid = Off disable_functions = system,passthru,exec,shell_exec,popen,phpinfo ...

  4. 【AWS】亚马逊云常用服务解释

    新公司使用的是亚马逊服务,刚开始的时候,对很多名词不太明白,总结了一下如下 1,EC2 这个是亚马逊的一种服务器服务,可以理解为跟vmware差不多,EC2为虚拟机提供载体,EC2上跑虚拟机服务器. ...

  5. MySQL——多版本并发控制

    核心心知识点: (1)MVCC的优点和缺点 (2)MVCC的工作机制 之前在提及幻读的时候,提到过InnoDB的多版本并发控制可以解决幻读问题. 大多数MySQL的事务性存储引擎,例如InnoDB.F ...

  6. 【Leetcode-easy】String to Integer(atoi)

    题目要求:字符串->整型 * 1. 首先需要丢弃字符串前面的空格. * 2. 然后可能有正负号(注意只取一个,如果有多个正负号,那么说这个字符串是无法转换的,返回0.比如测试用例里就有个“+-2 ...

  7. 在Linux下创建7种类型的文件

    在测试的时候有时会需要每种类型的文件,在系统中进行搜索都会找到,当然最方便的还是手动创建它们进行测试使用. 普通文件: $ touch regular 目录: $ mkdir directory 符号 ...

  8. 图形绘制处理逻辑VC

    // 逻辑1:先从资源中读取背景资源,然后将绘图对象与DC绑定,通过绘图对象绘出背景 // 逻辑2:先从资源中读取背景资源,新建一个MEMDC,将绘图对象与MEMDC绑定,并且 // 通过绘图对象在内 ...

  9. SQL Server 2008R2 代理服务-开启

    ,点击开始菜单-所有程序-SQLServer2008R2-配置工具-SQLServer配置管理器 2,选择SQLServer服务 3,找到SqlServer代理(MSSQLSERVER),双击或右键选 ...

  10. marlab之rangesearch()函数

    rangesearch()函数:查找某个点周围指定距离内的所有邻居. rng('default') % for reproducibility X = randn(,); Y = randn(,); ...