后端/后台(Back-end)Awesome Docker程序员

使用Dinghy在你的Mac上构建Docker host

2017-01-21  本文已影响117人  Kenshinsyrup

前言

工作需要使用Docker,我们团队中使用过boot2dockerDocker Toolbox,并且短暂的接触过最新的Docker for Mac
现状是:boot2docker已被官方标记为deprecated;Docker Toolbox捆绑VirtualBox;Docker for Mac抽风概率大(这个限于我们使用的时候)
因此,目前我们团队选择使用Dinghy,本文是我安装Dinghy的一篇总结帖,会先罗列安装的过程,之后讲一下我踩的坑
另外,如果文中有错误或没有讲明白的地方可以留言评论我会尽量更正,当然如果是能指出问题的话更加感谢

介绍

Dinghy是一套比较完善的适用于Mac系统下搭建Docker host的工具,致力于打造友好的Docker本地开发环境

Dinghy的优点:

对于我个人来说,最直观的感受莫过于NFS相对于VirtualBox虚拟机自带的文件共享方式而言极小的资源消耗率,具体的数据没有测试,这里只能给出一点直观感受:在8G内存MBP下,使用Docker Toolbox自带的一套虚拟机系统(即使用VirtualBox自带文件共享方式)时,每次编译Golang程序会发现CPU和内存占用飙满,VirtualBox的运行状态界面显示此时最大资源消耗用于文件夹共享;使用Dinghy后,编译程序时CPU和内存一般能维持在50%左右
如果你现在正在使用Docker Toolbox,完全可以无伤转移,Dinghy会利用Docker Machine在你的虚拟机软件中创建一个名为dinghy的虚拟机而完全不会影响你当前所有的其他虚拟机

安装

强烈推荐使用Homebrew安装所需内容
1、安装Dinghy

brew tap codekitchen/dinghy
brew install dinghy

2、安装Docker及Docker Machine

brew install docker docker-machine

3、创建虚拟机,我使用的仍然是VirtualBox
创建之前,有必要了解以下虚拟机创建参数


create参数说明.png

假设你希望指定虚拟机软件为VirtualBox,其他参数默认

dinghy create --provider virtualbox

4、设置共享文件目录
Dinghy支持自定义共享文件目录,只需将

export DINGHY_HOST_MOUNT_DIR=/Users
export DINGHY_GUEST_MOUNT_DIR=/Users

写入~/.bash_profile即可,其中的/Users可替换为你喜欢的目录
题外话,改完~/.bash_profile记得source ~/.bash_profile

5、验证安装
执行完前面3步后,打开VirtualBox应该能看到运行中的Dinghy


VirtualBox截图.png

回到终端,验证安装

docker run hello-world
docker helloworld.png

6、Dinghy基本操作


Dinghy基本操作.png

总结

Dinghy安装完成后,就可以像使用Docker Toolbox自带的default虚拟机一样来使用了
下面说一下踩到的坑
1、VirtualBox内虚拟机地址变化问题
我的VirtualBox内有两台虚拟机:default和dinghy。先启动default时,虚拟机地址为192.168.99.100,然后关闭default,再启动dinghy,发现d虚拟机地址为192.168.99.101,这导致了在eval $(dinghy env)时报错

Error.png
关于Error checking TLS connection: Error checking and/or regenerating the certs的讨论有很多,但这并不是我们需要的。。。
解决办法:关闭所有虚拟机,退出VirtualBox,关闭所有termianl窗口。然后重新开启termianl,在开启default或dinghy即可

2、NFS failed to run

NFS failed to run.png
这个问题都会生成错误日志,截图中有说明位置。比如我遇到的问题日志如下:
unfsd error.png
解决方式:终端执行brew link unfs3,之后重启Dinghy即可
上一篇下一篇

猜你喜欢

热点阅读