docker是什么?
Mac OS X 下用 Docker Toolbox, 而且命令也由 boot2docker 换成了 docker-machine. 当然由于是非 Linux 系统, 所以Mac OS X 仍然需要借助于 VirtualBox 中的 Linux 虚拟机作为桥梁, Docker Toolbox 创建的虚拟机名是 default (boot2docker 创建的虚拟机名是 boot2docker-vm) 就是这一桥梁, 我们称之为 DOCKER_HOST. 文中的 default 虚拟机指的就是这个 DOCKER_HOST.
docker的安装
一、安装 docker 和 docker-machine
官方的指南是通过下载 DockerToolbox 来安装 docker, docker-machine 和其他辅助工具. 但如果你偏于极客, 并不习惯于图形界面来安装的话, 那么安装 docker 和 docker-machine 就只要下面两个指令
brew install docker
brew install docker-machine
二、初始化 Virtual Box 的 default 虚拟机
docker-machine create –driver virtualbox default
此时会在VirtualBox中创建default虚拟机,如果安装的是 Docker Toolbox 的话, 可以执行 Docker Quickstart Terminal 来创建 default 虚拟机.
由于虚拟机的镜像文件地址在国外,国内很可能git不下载,所以可以考虑使用迅雷单独进行下载(在此要感谢一下迅雷兄弟),然后手动将boot2docker.iso拷贝到~\username.docker\machine\cache\目录下,即可正常安装。
三、初始化环境变量
docker-machine env default :显示宿主机需要为 default 虚拟机设置的环境变量的指令。
eval $(docker-machine env default) :将在宿主机中设置相应的环境变量。
env 显示宿主机的环境变量。
docker-machine env default
eval $(docker-machine env default)
env
Note:不设置好环境变量将无法使用 docker 命令, 比如执行 docker images 时会看到 Cannot connect to the Docker daemon. Is the docker daemon running on this host? 错误, 因为 docker 无法与 default 虚拟机连接起来. 为了每次都有效还必须把 eval (docker-machine env default) 加到 ~/.config/fish/config.fish 文件中. 使用 bash 则加一行 eval $(docker-machine env default) 到 ~/.bash_profile 中.
至此,docker和docker-machine安装完成。