Como instalar Docker CE (versão totalmente livre) e Docker Compose no Linux Ubuntu
- #Linux
- #Docker
Para quem pretende usar Docker em seu computador normalmente acaba conhecendo o Docker Desktop, ele possui uma versão gratuita, porém possui limitações, dependendo do tamanho da empresa é obrigatório licenciar esta versão. Para evitar qualquer problema o ideal é o uso do Docker CE (Community Edition), esta versão sim é livre, porém está disponível somente para Linux, para quem utiliza Windows 10 a seção a seguir tem instruções para instalar o Ubuntu com o WSL.
Instalar Ubuntu no Windows 10
Caso esteja utilizando Windows 10, primeiro realize os passos abaixo, para quem está usando o Linux pode pular para a seção "Atualizar o Ubuntu":
- Na loja de aplicativos da Microsoft (Microsoft Store), procure por Ubuntu, de preferência versão LTS, exemplo Ubuntu 20.04.5 LTS
- Note que a aplicação dá uma dica para a instalação: “Search for "Turn Windows features on or off" in the Windows search bar and ensure that "Windows Subsystem for Linux" is turned on before restarting your machine.”. Caso não consiga localizar ou ativar o Windows Subsystem for Linux (WSL), você pode consultar https://learn.microsoft.com/pt-br/windows/wsl/install para instalá-lo.
Importante: Para instalar, ativar ou modificar configuração do WSL você deve possuir direitos de administrador do seu dispositivo.
Configurando o DNS de forma definitiva no WSL
Por padrão, o arquivo /etc/resolv.conf
é sobrescrito no WSL, para fazer com que sua configuração de DNS fique fixa e não mude toda vez que reiniciar o wsl (Ubuntu), você precisa primeiramente criar um arquivo novo chamado /etc/wsl.conf
, para isso, na sua tela de wsl
(Ubuntu), execute o seguinte comando:
sudo nano /etc/wsl.conf
Adicione o seguinte conteúdo no arquivo:
[network]
generateResolvConf = false
Salve o arquivo (Ctrl+X), retorna para o terminal e depois, para o arquivo /etc/resolv.conf
, execute os comandos:
sudo rm -r /etc/resolv.conf
sudo nano /etc/resolv.conf
Conteúdo:
nameserver 1.1.1.1
nameserver 8.8.8.8
Salve também este arquivo (Ctrl+X)
Final / Passo mais importante
Ainda no seu wsl
execute o seguinte comando:
Observação: Não feche ainda a janela do seu terminal wsl
enquanto o processo não estiver totalmente concluído, senão o arquivo /etc/resolv.conf
ainda continuará sendo sobrescrito:
1- Forçar a desativação de sobrescrita usando f +i
, (para habilitar novamente você pode usar a flag -i
).
sudo chattr -f +i /etc/resolv.conf
2- Em uma nova janela de terminal do Powershell, execute o seguinte comando, lembrando que a janela do seu wsl
ainda deve estar aberta:
wsl --shutdown
Após executar o comando acima, a janela que estava com o wsl
será fechada automaticamente, agora é só iniciar seu wsl
e o resolv.conf
estará com a configuração de DNS definitiva que pode ser verificada através do comando:
cat /etc/resolv.conf
Atualizar o Ubuntu
Pelo bash do Ubuntu, atualize os pacotes:
sudo apt update && sudo apt upgrade
Observação: se rodar apenas o sudo apt update ele mostra o que pode ser atualizado, mas não atualiza. Observação 2: se está utilizando o WSL e este comando estiver retornando problema de conexão, verifique e faça os passos da seção “Configurando o DNS de forma definitiva no WSL” e volte nesta estapa.
Instalar o Docker CE
Agora instale os pacotes do docker, execute uma linha por vez.
sudo apt install apt-transport-https ca-certificates curl software-properties-common
sudo apt install build-essential
curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo apt-key add
sudo add-apt-repository "deb [arch=amd64] <https://download.docker.com/linux/ubuntu> $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
sudo service docker start
sudo docker run hello-world
Se a instalação funcionou, o “Hello from Docker!” será mostrado.
Para confirmar se o serviço está rodando, pode utilizar o comando:
service docker status
Instalar o Docker Compose
Para instalar o docker compose, basta executar o comando:
sudo apt-get install docker-compose-plugin
Para confirmar se o docker compose está instalado:
docker compose version
Com estes passos você terá disponível uma instalação do Docker totalmente livre (free), agora é só usar.
Fontes Externas:
https://github.com/microsoft/WSL/issues/5420
https://medium.com/codigorefinado/docker-no-linux-dentro-do-windows-10-com-wsl-2-f52b91931267
Problemas e soluções:
Se ao tentar executar o docker e aparecer o erro "docker: Cannot connect to the Docker daemon...", pode ser problema de versão do WSL, segue um link com solução para este problema: https://stackoverflow.com/questions/61592709/docker-not-running-on-ubuntu-wsl-due-to-error-cannot-connect-to-the-docker-daemo
Para sugestões, dúvidas ou problemas, é só comentar.