开始使用Docker(在OS X下)

如果你想在OS X上尝试Docker,但是又觉得安装虚拟机什么的太麻烦了,那么你可以考虑下Docker Toolbox

安装Docker Toolbox

虽然官方提供了下载链接,但是我依然决定使用Homebrew Cask来安装Docker Toolbox:

brew cask install dockertoolbox

当然,如果下载特别慢的话,可以使用ProxyChains-NG来代理下。

安装结束后,VritualBox也被当作依赖安装了。(但是我推荐再安装virtualbox-extension-pack:brew cask install virtualbox-extension-pack

创建虚拟机

接下来就要为所有的docker容器创建一个虚拟机了:

docker-machine create --driver virtualbox --virtualbox-hostonly-cidr "192.168.125.1/24" default

–driver virtualbox 表示使用VirtualBox来创建虚拟机;–virtualbox-hostonly-cidr “192.168.125.1/24” 表示使用192.168.125.1/24网段(默认使用的是192.168.99.1/24网段,但是和newifi的默认网段重复了)。

可以添加–engine-registry-mirror http://<hash>.m.daocloud.io 来使用daocloud的registry mirror。

第一个docker命令

首先执行如下命令配置好docker依赖的环境变量:

eval $(docker-machine env default)

接下来,执行docker命令的时候就会直接获取虚拟机里面的docker信息了。

比如:

docker info

如何访问容器

如果我们使用了虚拟机,那么该如何访问其中的容器呢?

比如我们运行nginx容器:

docker run -p 80 nginx

那么我们应该如何访问这个nginx容器呢?

首先,我们通过docker ps命令知道这个容器的80端口被映射到了32770端口,然后通过docker-machine ip default得知虚拟机ip:

container info

然后,就可以直接通过这个ip和这个端口访问了,比如

curl 192.168.125.100:32770 -i

volume映射

volume

可以看到,直接使用-v参数将本地mac上的文件夹映射到docker中也是可以的。

后来具体查了下,是OS X上的/Users目录通过vboxfs挂载到虚拟机的/Users目录中,然后在容器创建的时候再挂载到容器内部。

Kitematic

你也可以通过Kitematic来管理容器:

Screen Shot Kitematic

左侧为容器列表,右侧为推荐的image。

Leave a Reply

Your email address will not be published. Required fields are marked *

+ 89 = 98