Docker是什么
Docker是CaaS(containers as a service),是一个软件容器平台。对不同的人员都有不同的益处,当和其他开发人员合作编程时,开发人员使用docker可以忽略我的程序在我机器上和在别人机器上运行的差异;运维人员使用Docker在隔离的容器中并行运行和管理应用程序,以获得更好的计算密度。企业使用Docker构建灵活的软件传输管道,可以更好,更快地发布新功能,并且可以为Linux,Windows和Linux-on-mainframe应用程序提供信心。
Docker系统有两个程序:docker服务端和docker客户端,其中docker服务端是一个服务进程,管理着所有的容器。
基本概念
1. 镜像:轻量,单机,可执行的包,包含所有需要运行一个软件的所有东西。包括代码,运行时环境,包,运行参数和配置文件。
2. 容器:镜像的运行实例。在内存中当镜像实际运行时的样子,默认在host环境下独立运行。容器提供一种方式,以某种格式打包软件使之可以运行在共享的操作系统中国,不像VM,容器不需要捆绑整个操作系统,只需要是软件工作的函数库和配置既可以了。这为容器高效,轻便,自包含系统而生,并且确保权健始终运行相同,无论它在哪部署。
Docker优点
Docker使重复的创建和配置开发环境的工作自动化,使得开发人员能够更专注于编程。
开发人员使用Docker不需要安装和配置复杂的数据库,也不需要担心不兼容的语言之间的切换问题,当一个APP被Dockeried,这些复杂性就推给了非常简单可以建立的容器,
Docker是一个改进的容器技术,具体的改进:Docker为容器引入了镜像,使得容器可以从预先定义好的模板(images)创建出来,并且这个模板还是分层的。
轻量:体现在内存小,高密度
快速:毫秒启动
隔离:沙盒技术更像虚拟机
容器在host内核运行,比起虚拟机,容器只需要通过一个超级管理员可以获得权限,所有容器可以获得本地权限,每一个都独立在一个进程中运行。
Docker相关资源
Docker社区:https://www.docker.com/
Docker中文社区:http://www.docker.org.cn/
Docker书籍:
我看的是
《Docker容器与容器云》第二版 浙江大学SEL实验室著
《Docker进阶与实战》 华为Docker实践小组 著