【入门级】docker基础知识学习与使用(二)

docker简介
Docker是一个开源的应用容器引擎,让开发者能够打包他们的应用以及依赖包到一个可移植的容器中,而后发布到任何流行的 Linux 机器上,也能够实现虚拟化。容器是彻底使用沙箱机制,相互之间不会有任何接口。docker

咱们一开始选择相对基础的docker,而不是一上来就K8S,主要是为了可以尽可能学习到基础的相关知识,而后再学K8S就会比较驾轻就熟。架构

Docker分红两个版本,分别是CE和EE:工具

Community Edition (CE) 简称社区版学习

Enterprise Edition (EE) 检查企业版测试

不用多说,咱们确定用社区版,接下来的后续文章咱们都是采用CE版本。
 ui

docker架构
docker引擎是一个场景的CS架构,外层是CLI,中间是API层,最里面是核心组件,以下图所示:命令行

docker的架构和实际使用能够参考下图:blog

docker的几个重要概念:接口

1.Registry
Docker仓库用来保存镜像,能够理解为代码控制中的代码仓库。
Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。进程

2.Image
Docker镜像是用于建立 Docker 容器的模板。

3.Container
容器是独立运行的一个或一组应用。

4.Host
一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。

5.Daemon
docker的后台服务进程dockerd。

6.Client
Docker客户端经过命令行或者其余工具使用 Docker API 与 Docker 的守护进程通讯。

 
docker安装

咱们以Ubuntu 18.04为例子,安装docker是比较简单的命令以下:


 

docker的简单使用

咱们暂时还不打算讲解如何作镜像,先以用为主,用熟了再学如何制做本身的镜像。容器的思想很简单,就是Build once,Run anywhere,从上面的架构图能够看到,最简单核心的流程就是build>pull>run,build就是制做镜像,pull就是从镜像hub获取指定镜像,最后一步就是run把镜像跑起来。

因为build制做镜像稍微有点复杂,咱们就先跳过,直接从pull和run开始,直接使用https://hub.docker.com/上面别人作好的。


 

了解run机制

从字面上讲,run只是跑起一个镜像实例,实际上内部能够分为两个步骤,第一步是把镜像装入容器并建立实例(咱们能够称之为create),第二步就是把装入了镜像的容器实例跑起来(咱们能够称之为start)。

咱们先作一个试验,咱们执行两次docker run hello-world

这样的输出结果,咱们能够得知,原来每run一次,都会从新建立一个新的容器实例,若是咱们要把容器实例中止或者开启,应该是用stop和start,删除实例咱们能够用rm,具体看下面的演示:

​​​​​​​

能够看到容器实例目前就只剩下一个了,咱们能够再对剩下的容器进行stop和start测试。了解这个run机制很是关键,这也是笔者一开始接触和学习的时候所踩过的坑,一直以为run就是运行的意思,屡次run都是运行同一个实例,所以先把run的机制搞懂是很基础和很关键的。今天就先到这,下期咱们继续深刻学习docker的使用。
————————————————

睿江云官网连接:https://www.eflycloud.com/home?from=RJ0037

相关文章
相关标签/搜索