笔者在《Docker Machine 简介》一文中简单介绍了 Docker Machine 及其基本用法,但是忽略的细节实在是太多了。比如 Docker 与 Docker Machine 的区别?又如当我们执行 docker-machine create 命令时,Docker Machine 都做了哪些重要的事情使得我们可以远程操作 Docker daemon?这样的远程操作安全吗?本文将试图解读这些问题。注:本文的演示环境为 Ubuntu16.04。

Docker 与 Docker Machine 的区别

Docker 是一个 Client-Server 架构的应用,人家是有官称的:Docker Engine。Docker 只是大家对 Docker Engine 的昵称,当然 Docker 还有其他的意思,比如一家公司的名称。简单起见,本文中的 Docker 等同于 Docker Engine。

提到 Docker 我们必须要知道它包含了三部分内容:

  1. Docker daemon

  2. 一套与 Docker daemon 交互的 REST API

  3. 一个命令行客户端

下图很清晰的展示了它们之间的关系:

万码学堂,电脑培训,计算机培训,Java培训,JavaEE开发培训,青岛软件培训,软件工程师培训

Docker Machine 则是一个安装和管理 Docker 的工具。它有自己的命令行工具:docker-machine。

网友评论