Docker利用了Linux内核的一些特性,而FreeBSD是不支持的,需要通过docker-machine创建虚拟机来曲线救国。

安装VirtualBox

因为docker-machine需要使用到virtualbox,而我的FreeBSD作为服务器,是没有图形界面的,所以我这里安装的是 nox11 版本。

sudo pkg install virtualbox-ose-nox11

安装完成后,会有一些设置提示,也可以参考virtualbox-ose-nox11的README

加载内核模块, 在 /boot/loader.conf 文件中增加一行

vboxdrv_load="YES"

我日常使用非root用户操作,所以需要把我的用户加入到vboxusers用户组中

sudo pw groupmod vboxusers -m grass  # grass是我的用户名

为了使用桥接网络,需要在 /etc/rc.conf 中增加一行配置

vboxnet_enable="YES"

安装docker-machine

sudo pkg install docker-machine

创建docker-machine

docker-machine create -d virtualbox default

安装docker

sudo pkg install docker

连接到docker-machine

eval (docker-machine env default)

启动第一个容器

docker run hello-world