O Docker pode ser instalado no Windows, mas toda a integração por scripts é feita através do Powershell. Não é muito prático, pois a grande maioria dos tutoriais e scripts encontrada na internet é baseada em Shell Script. Com o Windows Creator Update a Microsoft disponibiliza na Windows Store a instalação do Ubuntu possibilitando a convivência do Linux em uma máquina Windows. Porém o Docker não pode ser executado como serviço nesta instalação.
Neste artigo vou mostrar como instalarmos o Docker para Windows e possibilitar a sua integração através do Ubuntu Bash disponível no Windows.
Como Instalar?
Vamos seguir o procedimento normal e instalar o Docker for Windows:
Após a instalação, efetue o logout e entre novamente. Isso é necessário para que o Windows atualize os prompts de segurança e configure o seu usuário para rodar o Docker.
O próximo passo é configurar o Docker. Pressione o botão direto sobre o ícone do Docker na Taskbar e selecione “Settings”
Em “General” marque a opção “Expose Daemon on tcp://localhost:2375 without TLS”.
Também devemos permitir que o Docker acesse os seus Drives. Vá em “Shared Drives” e em seguida marque qual drive irá compartilhar.
Pronto. Já temos o Docker rodando e configurado no Windows. Agora vamos instalar o Subsistema Linux. Abra a Windows Store e procure por Ubuntu e instale:
Ao término da instalação reinicie o sistema.
Uma vez instalado o Ubuntu, podemos começar a trabalhar direto com linha de comando.
Instalar o Docker
Rode o seguinte comando:
wget -qO- https://get.docker.com/ | sh
Ao final da instalação você verá um erro informando que o Docker não pode ser iniciado. Isso é esperado. Nós iremos acessar o Docker do Windows pelo bash através da API do Docker Host que configuramos anteriormente. O comando passa a ser então:
docker -H tcp://0.0.0.0:2375 images
Ele já é capaz de conectar com a instância do Docker para Windows. Para deixarmos essa configuração padrão basta definirmos a variável de ambiente DOCKER_HOST toda vez que abrirmos o bash:
echo "export DOCKER_HOST='tcp://0.0.0.0:2375'" >> ~/.bashrc
source ~/.bashrc
Pronto! Agora basta rodarmos:
docker images
e voilá! Tudo está funcionando normalmente.
DISCLAIMER: É importante observar que esse procedimento foi feito apenas para ambiente de desenvolvimento. Não tente rodar Docker dessa forma em ambiente de produção. Prefira rodar em Linux nativo.