Como Rodar o Docker para Windows usando o Bash

Joao M
ByJG
Published in
3 min readJul 25, 2017

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.

--

--

Joao M
ByJG
Editor for

Engenheiro e arquiteto de Software desde 1987 mexendo com computadores :)