Até o momento, o Docker não é suportado para o sistema operacional FreeBSD, então não há como você usar o Docker no FreeBSD, pelo menos nativamente. Várias tentativas foram feitas para construir a fonte do Docker para o FreeBSD, mas nenhuma que eu encontrei produziu resultados substanciais. Provavelmente, porque o FreeBSD não possui alguns dos recursos do Linux, como namespace e cgroups que ainda não são parte do kernel FreeBSD.
Então isso nos deixa apenas com uma opção: usando uma máquina virtual. Então, usaremos o VirtualBox neste tutorial para iniciar uma VM Linux em FreeBSD e usar o Docker dentro dele.
Etapa 1: Instale o cliente Docker e a máquina virtual em FreeBSD
Para instalar o cliente Docker e a máquina virtual, juntamente com a caixa virtual, tudo em um comando, digite o seguinte no shell e pressione Enter:
$ sudo pkg install docker docker-machine virtualbox -e
A razão pela qual estamos montando o Docker-Machine com a caixa virtual é que ela facilita o gerenciamento para hosts do Docker. Com uma máquina de docker, você pode criar servidores e instalar o docker em cada um deles, além de configurar cada um individualmente.
Etapa 2: Carregue o módulo do kernel Vboxdrv
Com o VirtualBox instalado no seu sistema, carregue o módulo VboxDRV Kernel. Para fazer isso e adicionar sua conta de usuário ao grupo Vboxusers, você precisará executar o seguinte comando:
$ sudo pw groupmod vboxuser -m
Depois que o comando for executado, você poderá usar o Vbox. Você pode usar máquinas virtuais após reiniciar seu sistema.
Etapa 3: Criando hosts VirtualBox
Use o comando abaixo para criar um host VirtualBox:
$ docker -machine crie -d virtualbox padrão
Para ver cada host atual em seu sistema.
$ Docker-MACHINE LS
Com um novo host de caixa virtual no lugar, devemos definir os parâmetros da VM para se comunicar com o cliente Docker. Use o comando abaixo:
$ EVAL "$ (Docker-M-Machine Env padrão)"
Em seguida, copie-se este comando para o .Bashrc/.arquivo zshrc, e você está pronto para usar o Docker no FreeBSD.
Por que passar por todo esse problema?
Certamente deve haver uma maneira mais fácil de executar o Docker, que não precisa do uso de máquinas virtuais?
Bem, não. Até o momento, essa é a única maneira de colocar o Docker em funcionamento em um sistema FreeBSD, porque, como mencionado anteriormente, o FreeBSD não tem suporte para alguns dos elementos que são cruciais para a operação do Docker.
Então, por que não usar uma alternativa ao Docker? Ouvi dizer que o RKT é uma alternativa muito melhor para o Docker, e é executado no FreeBSD!
Claro, existem muitas alternativas do FreeBSD ao Docker que são melhores, se não tão boas. O problema é: a maioria das pessoas está familiarizada com o Docker, e é bastante assustador mudar completamente as plataformas para alguns usuários. Outro motivo é a falta de material instrucional para o RKT, então os novos no software de contêinerização optariam pelo Docker em vez de suas alternativas FreeBSD.
Conclusão
É isso para este tutorial. Felizmente, agora você pode usar o Docker no FreeBSD com a caixa.