一 系统需求

MAC OSX的系统要10.8 Mountain Lion以上,我用的是EL Captain,10.11.2。

二 安装说明

因为Docker daemon需要用到Linux特性的内核,因此无法在OSX上直接运行,需要将docker-machine 加载并运行在一个Linux虚拟机上,这个虚拟机运行在MAC的OSX之上。示意如下:

Docker 提供toolbox工具箱,可以快速安装并拥有一个Docker环境,工具箱的最新版本是1.9.1g,

存放在github上,我把它下载下来,放在网盘上,供国内用户快速下载。

MAC 版下载链接: 

http://pan.baidu.com/s/1Omab8 密码: 4vcp

Windows 版下载链接:

 http://pan.baidu.com/s/1dDR3FNz 密码: 2a6s

Toolbox中包含的组件有:

  • Oracle VM VirtualBox:Oracle的虚拟软件

  • Docker Machine :Linux VM

  • Docker Engine : docker 

  • Docker Compose :  docker-compose

  • Kitematic, the Docker GUI

  • a shell preconfigured for a Docker command-line environment

三 安装Toolbox

Toolbox的安装很简单,过程略。安装完成后,在OSX上,会新增三个应用:

Docker Quickstart Terminal: Docker命令窗口,默认连接到Default的Docker machine

Kitematic:Docker hub的图形连接工具

Virtualbox:虚拟机管理工具,在OSX中,自动安装了docker-machine 应用,

四 运行一个容器Container

安装完成后,运行Docker Q..(quick start) Terminal, 会自动运行toolbox预置好的脚本,在Virtual box中生成一个虚拟机,并配置好Docker环境,脚本的执行过程和结果如下:

此时,Virtual box中新增一个Default VM

也可以在OSX Shell中手动去创建一个Container,基本的过程包括:

  1. 从OSX的Shell中,通过docker-machine命令创建新的Docker虚机(虚机名称2nd)

    docker-machine create --driver virtualbox 2nd  

    docker-machine 是用来管理Virtual box虚机的,可以支持命令行的开关机及重启等操作,并且可以docker-machine ls                     查看所有的虚拟机及信息

    docker-machine env VM名称    查看某个虚机的环境变量

  2. 连接到新创建的虚机中

      在OSX shell中,连接到docker-machine中

      eval $(docker-machine env 2nd)

   

如果使用Quickstart terminal,步骤1、2会在打开时自动执行。

五 运行第一行docker命令

在Quickstart terminal,OSX shell或者Virtualbox的虚机中,都可以执行docker命令,这第一行的命令,自然是Hello world啦,

         docker run hello-world

看到输出正常,心理是不是还有点小兴奋呢?

这短短的命令里面,却也蕴藏着Docker原理。

  1. Docker客户端连接到了Docker的进程Deamon

  2. Docker进程从Docker hub中,pull下了 hello-world 的镜像

  3. Docker daemon用这个镜像创建了一个新的容器,并且生成了你现在看到的内容

  4. Docker daemon将输出传输到客户端。