Docker基础

预备知识

在开始之前您要先了解Docker是什么,以及为什么我们要使用Docker呢。
我们还假设你在我们继续之前熟悉以下几个概念:

  • IP地址和端口
  • 虚拟机
  • 编辑配置文件
  • 基本熟悉代码依赖和构建的思想
  • 机器资源使用的基本数据,如CPU百分比,RAM使用字节数等。

容器的简要说明

镜像是一个轻量级的,独立的,可执行文件包,其中包括运行软件所需的一切依赖,包括代码,运行库,环境变量和配置文件等。

容器是镜像在内存中的运行实例。默认情况下,它与主机环境完全隔离,只能访问主机文件和端口。

容器在主机的内核上原生的运行应用程序。它们比虚拟机拥有更好的性能特征。容器拥有原生的访问权限,每个容器都以独立进程运行,但不会比任何其他可执行程序耗费更多内存资源。

容器与虚拟机

以下是虚拟机与容器的简单比较:

虚拟机图


虚拟机运行客户机操作系统 - 注意每个框中的OS层。这种资源密集型架构,将会导致应用程序严重依赖于例如:操作系统设置,系统安装的依赖,操作系统安全修补等其他易于丢失,难以复制的繁杂操作系统配置。

容器图


容器可以共享单个内核,并且容器镜像需要知道的唯一信息就是可执行文件及其包依赖关系,这些信息不需要在主机系统上安装。这些容器进程的运行和普通系统进程一样,你可以像在Linux系统中运行ps命令一样,运行docker-ps命令查看和管理容器进程。最后,因为单个容器包含它运行所需要的所有的依赖,所以与其他系统完全解耦; 一个容器化的应用程序可以做到“一次编写,多处运行”。

建立

在开始之前,请确保您的系统安装了最新版本的Docker。
你应该能够运行docker run hello-world并看到这样的响应:

$ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
...(snipped)...

通过docker-version命令查看您使用的版本,确保你使用的是1.13或更高版本

$ docker --version
Docker version 17.05.0-ce-rc1, build 2878a85

如果你看到像上面的消息,你就可以准备开始docker旅程了。

结论

将系统的某个单元制作成便携式的,可执行的文件,具有广泛的意义。这意味着CI / CD可以将更新推送到分布式应用程序中需要更新的一部分,而再也不需要担心系统的依赖,随着投入系统的资源密度的增加,协调分布式系统扩展行为的是新的可执行文件,而不是新的VM主机。如果您还不能理解以上几句话的意义,接下我会带您慢慢的深入学习。

-- END

部署程序 2017-05-13
Docker容器 2017-05-11
Swarms的使用 2017-05-12
服务简介 2017-05-12
Docker Stack 2017-05-12

暂无评论~~