Docker入门(一):简介
这个《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入门(一):简介的更多相关文章
- docker入门——镜像简介
什么是docker镜像 Docker镜像是由文件系统叠加而成. 最底端是一个引导文件系统,即bootfs: 这很像典型的Linux/Unix的引导文件系统.Docker用户几乎永远不会和引导文件系统有 ...
- Docker入门(七):部署app
这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...
- Docker入门(六):Stacks
这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...
- Docker入门(五):Swarms
这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...
- Docker入门(四):服务(Services)
这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...
- Docker入门(三):容器(Containers)
这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...
- Docker入门(二):安装/卸载
这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...
- Docker入门系列1:简介
可以实现快速部署. 比如一台 16 核 32G 内存的虚拟机上,需要跑 500+ 个用户的应用(每个应用的功能可以认为是一个网站 + 一系列的 RESTful API),有两个事情很重要: 资源隔离: ...
- redis哨兵集群、docker入门
redis-sentinel主从复制高可用 Redis-Sentinel Redis-Sentinel是redis官方推荐的高可用性解决方案,当用redis作master-slave的高可用时,如果m ...
随机推荐
- C#游戏开发高速新手教程Unity5.5教程
C#游戏开发高速新手教程Unity5.5教程 试读文档下载地址:http://pan.baidu.com/s/1slwBHoD C#是微软公布的高级程序设计语言.这门语言和C语言一样,已经成为了大学计 ...
- There are two different types of export, named and default
export - JavaScript | MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statemen ...
- php.ini的几个关键配置
safe_mode = On safe_mode_gid = Off disable_functions = system,passthru,exec,shell_exec,popen,phpinfo ...
- 【AWS】亚马逊云常用服务解释
新公司使用的是亚马逊服务,刚开始的时候,对很多名词不太明白,总结了一下如下 1,EC2 这个是亚马逊的一种服务器服务,可以理解为跟vmware差不多,EC2为虚拟机提供载体,EC2上跑虚拟机服务器. ...
- MySQL——多版本并发控制
核心心知识点: (1)MVCC的优点和缺点 (2)MVCC的工作机制 之前在提及幻读的时候,提到过InnoDB的多版本并发控制可以解决幻读问题. 大多数MySQL的事务性存储引擎,例如InnoDB.F ...
- 【Leetcode-easy】String to Integer(atoi)
题目要求:字符串->整型 * 1. 首先需要丢弃字符串前面的空格. * 2. 然后可能有正负号(注意只取一个,如果有多个正负号,那么说这个字符串是无法转换的,返回0.比如测试用例里就有个“+-2 ...
- 在Linux下创建7种类型的文件
在测试的时候有时会需要每种类型的文件,在系统中进行搜索都会找到,当然最方便的还是手动创建它们进行测试使用. 普通文件: $ touch regular 目录: $ mkdir directory 符号 ...
- 图形绘制处理逻辑VC
// 逻辑1:先从资源中读取背景资源,然后将绘图对象与DC绑定,通过绘图对象绘出背景 // 逻辑2:先从资源中读取背景资源,新建一个MEMDC,将绘图对象与MEMDC绑定,并且 // 通过绘图对象在内 ...
- SQL Server 2008R2 代理服务-开启
,点击开始菜单-所有程序-SQLServer2008R2-配置工具-SQLServer配置管理器 2,选择SQLServer服务 3,找到SqlServer代理(MSSQLSERVER),双击或右键选 ...
- marlab之rangesearch()函数
rangesearch()函数:查找某个点周围指定距离内的所有邻居. rng('default') % for reproducibility X = randn(,); Y = randn(,); ...