首页 > 技术文章 > springboot+cloud 学习(六)Docker

willpan-z 2018-09-18 14:54 原文

:由于本人用的是window10系统,docker的版本是Docker Community Edition(Docker CE ).

什么是Docker

按官网的话说,Docker是一个世界领先的容器化平台,它是github上开源的并且跨平台的。

Docker 结构

镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。

容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。

仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用tag进行区分,比如Ubuntu仓库存放有多个版本(12.04、14.04等)的Ubuntu镜像。 

Docker 执行过程

我们通过一个例子来说明docker的执行过程。

在安装完docker以后,打开cmd,使用docker version命令查看docker版本:

下面开始安装第一个docker镜像:

使用docker images查看镜像列表,显示为空,然后安装安装官方hello-world镜像进行测试。

安装成功后可以看到镜像的名称、版本、id、最后修改日期、大小

然后我们来跑一下这个镜像看docker的运行过程

注意看这里的执行步骤:

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.

1.客户端要拉取一个镜像时,通过docker pull 发送一条命令到本机(DOCKER_HOST)的 Docker daemon。

2. Docker daemon 会先判断本地有没有这个镜像(Images),没有的话话会去仓库(Registry:默认的仓库是 Docker Hub)拉取

3.Docker daemon 拿到镜像后,会新建一个容器(container),把镜像放进去运行

 

Docker 具体运用

待续

推荐阅读