A Docker é uma plataforma popular que facilita a criação, gestão e execução de aplicativos em contêineres. Independentemente das diferenças entre os ambientes de desenvolvimento e produção, o software funciona de forma uniforme em contêineres, que o isolam do ambiente ao seu redor.
Para administradores de sistemas e desenvolvedores que buscam agilidade e consistência na implantação de aplicações, essa tecnologia é especialmente útil. Este guia descreverá detalhadamente como instalar a Docker Engine no Ubuntu, abordando desde os pré-requisitos até os vários métodos de instalação, incluindo as etapas subsequentes após a configuração inicial.
Como instalar a Docker Engine no Ubuntu?
Pré-requisitos
Antes de iniciar a instalação do Docker no Ubuntu, verifique se o sistema atende a algumas necessidades básicas. Verifique se seu sistema está atualizado e se você tem uma versão recente do Ubuntu instalada. Além disso, possuir privilégios de superusuário (root) ou acesso a uma conta com permissões sudo é essencial.
Como instalar o Ubuntu
Se o Ubuntu ainda não for instalado em sua máquina, a primeira coisa a fazer é instalar o sistema operacional. Esta instalação pode ser feita usando uma mídia de instalação (por exemplo, um pendrive bootável) ou em uma máquina virtual. Para garantir uma instalação bem-sucedida e um ambiente operacional estável, certifique-se de seguir todas as instruções.
Desinstale versões antigas
Caso você já tenha versões antigas do Docker instaladas, é recomendável removê-las para evitar conflitos. Isso pode ser feito com os seguintes comandos:
sudo apt-get remove docker docker-engine docker.io containerd runc
Formas de instalação
Existem várias maneiras de instalar o Docker no Ubuntu, cada uma com suas próprias vantagens. Aqui estão três métodos comuns:
Usando o apt repositor
1 – Atualize o índice de pacotes:
sudo apt-get update
2 – Instale os pacotes necessários para permitir o uso de repositórios HTTPS:
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
3 – Adicione a chave GPG oficial do Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4 – Adicione o repositório do Docker às fontes APT:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
5 – Atualize o índice de pacotes novamente e instale a Docker Engine:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
Usando o arquivo “deb”
Outra opção é baixar diretamente o arquivo .deb do site do Docker e instalá-lo manualmente
1 – Baixe o arquivo .deb:
curl -fsSL https://download.docker.com/linux/ubuntu/dists/$(lsb_release -cs)/pool/stable/amd64/docker-ce_<version>~3-0~ubuntu-$(lsb_release -cs)_amd64.deb -o docker-ce.deb
2 – Instale o pacote:
sudo dpkg -i docker-ce.deb sudo apt-get install -f
Usando o “convenience script”
Para facilitar ainda mais a instalação, você pode usar o script de conveniência do Docker:
1 – Execute o script:
curl -fsSL https://get.docker.com | sh
Próximos passos
É fundamental verificar se a instalação do Docker foi concluída usando o comando docker-version. Em seguida, você pode começar a usar os recursos do Docker, como a criação e administração de contêineres, imagens e volumes.
Familiarizar-se com os comandos básicos do Docker e saber como integrar essa ferramenta ao fluxo de trabalho existente será essencial para que desenvolvedores e administradores maximizem o potencial dessa poderosa plataforma.
Veja se o Docker foi instalado corretamente:
docker –version
Este comando deve retornar a versão do Docker instalada, confirmando que a instalação foi bem-sucedida.
Execute o comando "hello-world"
Para garantir que o Docker está funcionando corretamente, execute um contêiner de teste:
sudo docker run hello-world
Este comando baixa uma imagem de teste do Docker Hub e executa um contêiner que exibe uma mensagem de boas-vindas. Se você visualizar a mensagem “Hello from Docker!”, significa que a instalação e a configuração básica foram concluídas com sucesso.
Por padrão, o Docker requer privilégios de superusuário para executar seus comandos. Para evitar a necessidade de usar sudo em cada comando Docker, adicione seu usuário ao grupo Docker:
sudo usermod -aG docker $USER
Depois de executar este comando, saia e entre novamente na sua conta para que as alterações tenham efeito.
Com o Docker instalado, é útil aprender alguns comandos básicos para começar a gerenciar contêineres e imagens:
Listar imagens: Exibe todas as imagens Docker baixadas.
docker images
Listar contêineres: Exibe os contêineres em execução.
docker os
Para listar todos os contêineres, inclusive os que estão parados, use:
docker ps -a
Iniciar um contêiner: Inicia um contêiner baseado em uma imagem específica.
docker run -it ubuntu /bin/bash
Este comando inicia um contêiner com a imagem do Ubuntu e abre um terminal Bash interativo.
Parar um contêiner: Para um contêiner em execução.
docker stop <ID do contêiner>
Remover um contêiner: Remove um contêiner parado.
docker rm <ID do contêiner>
Remover uma imagem: Remove uma imagem Docker.
docker rmi <ID da imagem>
Explore o Docker Hub
Milhares de fotos de contêineres públicos podem ser encontradas no Docker Hub. Encontrar imagens do software que você precisa no Docker Hub. O comando docker pull pode ser usado para baixar uma imagem:
docker pull <nome_da_imagem>
Crie suas próprias imagens
Com o Docker, você também pode criar suas próprias imagens personalizadas. Comece criando um Dockerfile, que é um script de construção que define o ambiente e as instruções necessárias para construir uma imagem Docker. Aqui está um exemplo básico de um Dockerfile que configura um ambiente Node.js:
# Use uma imagem base oficial do Node.js FROM node:14 # Crie e defina o diretório de trabalho WORKDIR /app # Copie o package.json e o package-lock.json COPY package*.json ./ # Instale as dependências RUN npm install # Copie o restante do código da aplicação COPY . . # Exponha a porta que a aplicação vai usar EXPOSE 8080 # Comando para rodar a aplicação CMD ["node", "app.js"]
Para construir uma imagem a partir deste Dockerfile, use o comando:
docker build -t nome_da_imagem .
Automatize tarefas com Docker Compose
O Docker Compose é uma ferramenta que facilita a criação e administração de aplicações Docker multi-contêiner. Para especificar os serviços, redes e volumes que sua aplicação precisa, você pode criar um arquivo docker-compose.yml. Um exemplo básico de um arquivo docker-compose.yml para uma aplicação web básica está abaixo:
version: '3' services: web: image: nginx ports: - "80:80" app: image: nome_da_imagem build: . ports: - "8080:8080"
Para iniciar a aplicação definida no docker-compose.yml, use o comando:
docker-compose up
Monitore e mantenha seus contêineres
Manter seus contêineres e imagens Docker atualizados e monitorados é essencial para garantir a segurança e a performance. Algumas boas práticas incluem:
- Atualizar imagens regularmente: Mantenha suas imagens atualizadas para se beneficiar de melhorias e correções de segurança.
docker pull <nome_da_imagem>
- Limpar contêineres e imagens não utilizados: Libere espaço removendo contêineres e imagens desnecessários.
docker system prune
- Monitorar contêineres: Utilize ferramentas como Prometheus e Grafana para monitorar a performance dos seus contêineres em tempo real.
Conclusão
O primeiro passo para usar essa poderosa tecnologia de contêineres é instalar e configurar o Docker no Ubuntu. Você estará bem encaminhado para criar, administrar e manter ambientes de contêineres escaláveis e eficientes se seguir os comandos e práticas sugeridos acima.
Familiarizar-se com o Docker e suas ferramentas complementares tornará a implantação de aplicativos mais fácil e aumentará significativamente a consistência e a flexibilidade dos seus fluxos de trabalho de desenvolvimento e operações.
Considere buscar recursos e serviços adicionais que podem complementar sua infraestrutura se quiser maximizar a utilização de suas habilidades com Docker e otimizar seus ambientes de desenvolvimento e produção. A seguir estão links para produtos e serviços que podem ser úteis:
- Hospedagem Dedicada: Soluções de hospedagem de alto desempenho e segurança para aplicações críticas.
- Cloud VPS: Ideal para projetos que precisam de recursos personalizados porque oferece escalabilidade e flexibilidade com servidores virtuais privados.
- Descubra mais sobre o Docker, seus benefícios e como ele pode mudar o desenvolvimento e a implementação de suas aplicações.
- DNS: Descubra como o DNS é importante e como configurá-lo para garantir a disponibilidade e a performance dos seus serviços.
- Python: Aprenda a usar o Python, uma linguagem versátil e poderosa para desenvolvimento web, ciência da informação e automação.
- JavaScript: Descubra o JavaScript, a linguagem de programação necessária para o desenvolvimento web contemporâneo.
- PHP: Aprenda sobre PHP, uma das linguagens de programação mais utilizadas para criar sites e aplicações web que permanecem dinâmicos.