在macos下使用homebrew提供的docker(上)
docker为macos提供了默认的安装包,可以直接安装,但如果我们后续要更加细致地定制化docker的服务,那么可以使用homebrew提供的docker相关的安装包。
总的来讲,因为在macOS下不是没有linux内核,所以docker自己的desktop安装版会维护一个虚拟机,然后所有的docker容器都是跑在那个linux虚拟内核里面。下面这篇文章介绍了docker在macos下的实现架构:
可以看到docker在macos的环境下是运行在最下面的Hypervisor
这层之上的。Hypervisor
提供了一个虚拟的硬件层面,下面是苹果对于这层的介绍可以学习下:
此外,Windows有类似的一层,可以看下介绍:
大概清楚了原理,那么自己定制安装docker的话,我们要安装docker
客户端,docker-machine
,和virtualbox
这三样。
其中virtualbox
作为和hypervisor打交道的层面,它用来跑linux虚拟机,虚拟机里面运行的服务是docker的daemon;docker-machine
用来管理virtualbox
并创建跑docker服务所需要的虚拟机。总结来讲架构如下:
在上面的架构当中,有一个boot2docker.iso
,这个是做好的跑docker服务的linux虚拟机的image文件,有兴趣可以看一看这个项目:
根据上面的架构,接下来就是安装具体的软件包。具体的安装在这篇文章里介绍了安装流程:
根据上面的文章中介绍的安装顺序,把homebrew
里面相关的packages都安装好。先是安装docker
以及docker-machine
:
$ brew install docker docker-machine
上面的命令会让brew
开始安装所需要的两个packages:
下载安装过程需要耐心等待,如果你的电脑上已经安装了docker desktop的版本:
那么需要先关掉这个服务,因为后续我们要用自己的docker服务。此外,在使用brew
安装的过程中,可能会出现这样的信息:
这个表明我们安装的docker
命令和已有的有冲突。这也是因为电脑里面已经安装了docker desktop版本造成的。安装上面说明给出的命令,强制覆盖一下已有的docker
命令即可:
$ brew link --overwrite docker
这样,brew
提供的docker
命令就安装好了:
安装好上面两个packages以后,接下来是安装virtualbox
,下面是安装命令:
$ brew cask install virtualbox
安装过程截图如下:
安装过程到最后,需要输入管理员权限的账号密码。
密码输入完成后,可以看到virtualbox
成功安装了:
以上是所需要组件的安装过程,这篇就讲到这里。下一篇当中,讲解这些组件的使用。
- 上一篇 HTTPS的双向认证(九)
- 下一篇 在pycharm下使用pipenv管理项目依赖