Docker简介

一、什么是Docker?

Docker官方网站: https://docs.docker.com

Docker简介插图

鲸鱼身处的大海 —— 宿主机系统!

鲸鱼 —— docker

集装箱 —— container ;container 是来自于 image 模板!

Docker时Docker.Lnc公司开源的一个基于LXC技术之上搭建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源。 Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。

Docker将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker,就不用担心环境问题。 总体来说,Docker的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

Docker简介插图1

二、Docker的概念

Docker是开发人员和系统管理员使用容器开发、部署和运行应用程序的平台。使用Linux容器来部署应用程序称为集装箱化。使用docker轻松部署应用程序。

集装箱化的优点:

  • 灵活:即使是复杂的应用程序也可封装。

  • 轻量级:容器利用并共享主机内核。

  • 便携式:您可以在本地构建,部署到云上并在任何地方运行。

  • 可扩展性:您可以增加和自动分发容器副本。

  • 可堆叠:您可以垂直堆叠服务并及时并及时堆叠服务。

三、Docker 的架构:

Docker简介插图2

Docker 采用的是 c/s 架构!一般情况下 c 和 s 运行在同一个系统上!

Client :

负责与守护进程(daemon)进行通信!因为用户不能直接和守护进程进行交互,得通过 client 间接通信!

它们通信通过 socket(网络上的两个程序通过一个双向的通信连接实现数据的交换),daemon 会处理客户端的任务,例如:建立、运行、发布等… 如上图所示!

Server :

server 端 其实就是一个服务进程,它管理着所有容器(client 则扮演着 server 的远程控制器,可以用来控制docker的服务端进程)

images和容器

通过运行images启动容器,一个images是一个可执行的包,其中包括运行应用程序所需要的所有内容-代码,运行时,库、环境变量和配置文件。 容器时images运行时示例-当被执行时(即,images状态,或者用户进程)在内存中,可以使用命令查看正在运行容器的列表docker ps,就像在Linux中一样。

Docker 的 核心概念:

三大核心概念: image、container、repository !

Docker —— image(镜像)

镜像 是 Docker 最重要、最基础的,是构建容器基础,阿里云提供免费国内镜像加速

注意: 1、image 用来 构建 container !

2、image 可以是 OS(eg:centos、ubuntu…) ,也可以是服务(eg: mysql、nginx…)

3、镜像都有他们自己的 tag 标签,用来作为标识(一般为 版本号),我们上传镜像给仓库的时候,也可以自定义他们的标签(建议定义为版本号)

4、镜像是由一系列的层组成的! 当你的 image 有改动时,只需要变更 image 对应的那一层即可,无须替换整个镜像!(虚拟机需要替换整个image)

5、image 本身是 只读的 ! container 从 image 启动的时候,会在 image 的最上层创建一个 可写层!

Docker —— Container(容器)

Docker Container 类似于一个 轻量级的沙箱,Docker 使用 Container 来运行和隔离应用!(就是你看到 Docker 图标上鲸鱼背上的集装箱!)

注意: 1、Container 是基于 image 来创建的(如果你创建 Container 失败,请先查看是否有 该 Container 对应的 image !)

2、Container 可以 run、start、stop、rm…(这些容器都是相互隔离的!互不可见!进程隔离法!)

3、可以将 Container 看成是: 一个简易版LInux系统 与 运行在其上的应用程序 所打包而成的一个盒子!

Docker —— Repository(仓库)

仓库:顾名思义是用来存放东西的,这里的 仓库 是用来存放 image 的!

repository 分为 public(公开) 和 private(私有):

①、public repository: docker hub 或 国内阿里docker仓库

②、private repository:harbor…

原文链接:https://www.bilibili.com/read/cv13436994/

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享