工具与资源核心
帮忙开发者更加高效的工作,提供围绕开发者全生命周期的工具与资源
https://developer.aliyun.com/...

本案例借鉴 https://topsale.gitbooks.io/j... dubbo/chapter3/Docker%E5%8A%9F%E8%83%BD%E7%89%B9%E7%82%B9.html

Docker 是一个开源的利用容器引擎,基于Go语言并遵循Apacher 2.0 协定开源

Docker 引擎,是一个蕴含以下次要组件的客户端服务程序(Docker 引擎的流程图)

是一种服务器,它是一个被称为守护过程并且长时间运行的程序,Rest api 用于指定程序能够用来与守护过程进行通信的接口,并批示它能够做什么,一个命令行的界面(cli) 工具的客户端。

Docker 的性能特点:

轻松快捷的配置

这是Docker 的一个次要的性能,能够帮忙咱们轻松快捷的配置零碎,能够在更少的工夫和精力下部署代码,因为Docker 能够在各种个样的环境中应用,基础架构不再要求与用用程序的环境相关联

进步工作效率

通过放宽技术配置和利用的疾速部署,毫无疑问,它节约了工夫进步了生产率,Docker 不仅有助于在孤立的环境中执行应用程序(每一个利用是一个独自的环境,每个环境都有一份独立的OS 零碎),而且还缩小资源

利用隔离

Docker 提供用于在隔离环境中运行应用程序的容器,每个容器都独立于另一个容器,并容许任何类型的应用程序(因为,每个容器的底层都有一个独自的os 机制)

云调用

它是Docker 容器的集群和调度的工具,Swarm 应用Docker api 作为其 前端,这有助于咱们应用何种工具来管制它,它还能够将Docker 主机 集群 管制一个虚拟主机,这是一个用于启用可拔插后端的自组织引擎组,应用Swarm 来进行治理集群

路有网

他能够用于节点上已公布端传入申请路由到流动容器,即便节点上没有工作正在运行此性能也能够实现链接(容器与容器之间通信的路有网)

服务

服务值容许执行集群内容器状态的工作列表,每个工作示意一个应该运行的容器的实例,并且Swarm在节点之间的调度

平安治理

他容许将窃密的数据保留到云群(Swarm)中,而后抉择给与服务拜访某些窃密数据,它蕴含一些重要的命令给引擎,如窃密的数据,窃密数据的创立等

Docker 是cs模式(客户端 --- 服务器端) 应用近程的api 来治理和创立Docker 容器

Docker 容器通过Docker 镜像来进行创立

容器和镜像的关系相似于 面向对象编程中的类与对象

先有镜像才有容器,咱们在应用容器端通过api 操作的是容器

首先应用Docker pull 去调用 Docker daemon ,如果此时本地仓库中有镜像,则能够间接创立容器,并且能够创立多个,然而当应用Docker pull 去调用 Docker daemon 去本地仓库中查找镜像不存在的时候,则会去Docker 的仓库中拉取,并且当拉取到本地之后,应用Docker run 去进行创立容器,并且能够创立多个对象,

说一下什么是数据卷:

数据卷就是一个能够提供一个或者多个容器应用的非凡目录。

能够达到的目标是:绕过“拷贝写”零碎,已达到本地磁盘IO的性能,(比方运行一个容器,在容器中对数据进行批改的时候,会间接扭转宿主机上的数据卷的中的内容,所以在本地磁盘io的性能,而不是先在容器中写一份,而后再将容器中的批改的内容拷贝进去同步)

绕过“拷贝写”零碎,有些文件不须要在 docker commit 打包进镜像文件中

在多个容器间共享目录

在宿主机和容器间共享目录

在宿主机和容器中共享一个文件

数据卷的创立:

办法一:在Dockerfile 中指定 VOLUME 的目录 如 VOLUME /var/lib/test
办法二: 在docker run 命令中加 -v docker run -d -P -v /webapp training/webapp python app.py

本文转自:https://developer.aliyun.com/...