温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-04-09 09:53:17 来源:网络 阅读:74 作者:eflypro小普 栏目:云计算

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

我们一开始选择相对基础的docker,而不是一上来就K8S,主要是为了能够尽量学习到基础的相关知识,然后再学K8S就会比较得心应手。

Docker分成两个版本,分别是CE和EE:

Community Edition (CE) 简称社区版

Enterprise Edition (EE) 检查企业版

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

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

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

docker的架构和实际使用可以参考下图:

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

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基础知识学习与使用(二)
 

docker的简单使用

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

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

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

了解run机制

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

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

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

这样的输出结果,我们可以得知,原来每run一次,都会重新创建一个新的容器实例,如果我们要把容器实例停止或者开启,应该是用stop和start,删除实例我们可以用rm,具体看下面的演示:

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

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


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI