Docker Machine笔记

Docker Machine的作用

  1. docker目前不支持mac跟win,如果想在这两个平台上运行,就要安装这个工具。
  2. docker在不同的linux上得安装方法不一样,通过这个工具可以提供统一的安装方法。

Docker Machine与Docker Engine的区别

engine.png

如上图所示,一般我们谈到docker的时候指的是docker engine。它包含三个部分。CLI(解析命令行的工具)Server(一个restful的服务区)RestApi(CLI与Server进行通讯的接口)

machine.png

Docker 的结构如上图所示,包括Docker Machine自己的客户端跟docker的客户端,还有Rest Api。这样就可以用他们跟不同的主机上的docker进行通信了。从而起到管理多个docker Engine的效果。

Mac 安装

mac安装Docker Machine要使用Docker Toolbox,其中包括:

  • Docker Machine binary
  • Docker Engine binary
  • Docker Compose binary
  • Kitematic Docker 的GUI
  • 一个shell格式的预配置文件
  • VirtualBox
安装前需要知道的内容

如上图所示,在Linux上,跟docker的客户端,守护进程跟容器运行在同意太物理机器上。

但是在mac上,docker后台进程运行在一个叫做default的Linux虚拟机上。
docker的host address是这台虚拟机的地址。当你使用docker-machine启动这台虚拟机的时候,这台虚拟机会被分配一个ip地址。当运行一个docker容器的时候,容器的port会跟这台虚拟机进行绑定。

启动一个本地容器

  • 创建一个新的virtual machine
  • 设定环境到新的VM
  • 使用docker client创建,加载和管理容器

具体命令如下:

docker-machine create --driver virtualbox default
Creating VirtualBox VM...
Creating SSH key...
Starting VirtualBox VM...
Starting VM...
To see how to connect Docker to this machine, run: docker-machine env default

上面的命令在VirtualBox中创建了一个新的 default VM 。
同时也创建了一个份配置,在~/.docker/machine/machines/default路径下。

$ eval "$(docker-machine env default)"

上面的命令为你正在操作的shell设置环境变量。每次打开一个shell的时候都需要进行这个操作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容