表达从简单开始,而这是一个系列的开篇linux
Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行同样。有了 Docker,就不用担忧环境问题。docker
整体来讲,Docker 的接口至关简单,用户能够方便地建立和使用容器,把本身的应用放入容器。容器还能够进行版本管理、复制、分享、修改,就像管理普通的代码同样。shell
host
是执行docker命令的数组机。daemon核心程序负责各类操做(下载docker镜像、运行容器)client
命令与daemon进行交互,由daemon进行后续的操做registry
全部docker玩家共享docker镜像的服务,daemen能够往registry推/拉
镜像Docker 让开发者能够打包他们的应用以及依赖包到一个可移植的容器中,而后发布到任何流行的 Linux 机器上,即可以实现虚拟化。Docker改变了虚拟化的方式,使开发者能够直接将本身的成果放入Docker中进行管理。方便快捷已是 Docker的最大优点,过去须要用数天乃至数周的 任务,在Docker容器的处理下,只须要数秒就能完成。数据库
若是你有选择恐惧症,仍是资深患者。那么你可使用 Docker 打包你的纠结!好比 Docker 镜像;Docker 镜像中包含了运行环境和配置,因此 Docker 能够简化部署多种应用实例工做。好比 Web 应用、后台应用、数据库应用、大数据应用好比 Hadoop 集群、消息队列等等均可以打包成一个镜像部署。数组
一方面,云计算时代到来,使开发者没必要为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思惟定势。Docker 与云的结合,让云空间获得更充分的利用。不只解决了硬件管理的问题,也改变了虚拟化的方式。服务器
接下来将基于Docker Engine - Community 19.03.2
进行实践网络
Client: Docker Engine - Community
Version: 19.03.2
API version: 1.40
Go version: go1.12.8
Git commit: 6a30dfc
Built: Thu Aug 29 05:26:49 2019
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.2
API version: 1.40 (minimum version 1.12)
Go version: go1.12.8
Git commit: 6a30dfc
Built: Thu Aug 29 05:32:21 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.2.6
GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc:
Version: 1.0.0-rc8
GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
Version: 0.18.0
GitCommit: fec3683
复制代码