- Порт Docker под FreeBSD до сих пор в стадии beta, вы используете его на свой страх и риск. Я убедился в этом лично, получив ошибку при попытке запуска контейнера:
$ docker run -d -p 4444:4444 --name selenium-hub selenium/hub Error response from daemon: json: cannot set embedded pointer to unexported struct: runconfig.hostConfigWrapperВ интернете этой ошибке уже два месяца, разработчики ничего не правят и я решил отложить дальнейшие эксперименты с docker-freebsd до лучших времен.
- Установить можно только на FreeBSD 11.1-RELEASE или выше.
- Используемая докером файловая система - zfs и никак иначе.
- swarm нет и в обозримом будущем не будет.
В FreeBSD все же можно запустить docker, но с некоторыми накладными расходами. Для этого служит порт docker-machine.
- Использованные версии ПО:
# uname -sr FreeBSD 11.1-RELEASE-p8
# pkg info | grep docker docker-freebsd-20150625_1 Docker containment system
- Установка
# cd /usr/ports/security/ca_root_nss # make install clean # cd /usr/ports/sysutils/docker-freebsd # make install clean
Добавляем в файл /etc/rc.conf:docker_enable="YES"
- Делаем zfs dataset и монтируем его в /usr/docker
- если ваша FreeBSD работает на zfs:# zfs create -o mountpoint=/usr/docker <zroot>/docker
- если нет, то для экспериментов можно сделать zfs пул на основе файла, а в пуле сделать dataset.
Создаем файл /usr/local/dockerfs размером 4 Гигабайта:# dd if=/dev/zero of=/usr/local/dockerfs bs=1024K count=4000
Создаем zfs пул и dataset:# zpool create -f zroot /usr/local/dockerfs # zfs list NAME USED AVAIL REFER MOUNTPOINT zroot 55K 3.75G 19K /zroot # zpool list NAME SIZE ALLOC FREE FRAG EXPANDSZ CAP DEDUP HEALTH ALTROOT zroot 3.88G 11.8M 3.86G 0% - 0% 1.00x ONLINE - # zfs create -o mountpoint=/usr/docker zroot/docker
- Запускаем
# /usr/local/etc/rc.d/docker start
- Разное
Чтобы обычный пользователь мог работать с docker, его нужно добавить в группу wheel:# pw groupmod wheel -m <USER>