Docker !!!

Bom… esse tema aqui é daqueles que dá vontade de falar por horas. Não quero trazer só o básico, então vou tentar dar o meu máximo pra explicar de um jeito simples, mas sem enrolar.

Imagina a cena: você tá trabalhando de boa no seu Linux, e o cliente pede pra rodar um sistema que você nunca viu na vida. Você baixa o negócio e… surpresa! Ele precisa de uma versão diferente do banco de dados da que você tem instalada. Ou então depende de uma biblioteca que conflita com a que já tá no seu servidor. É nessa hora que o Docker aparece como aquele amigo que diz: “Relaxa, deixa comigo” (ok, nem sempre ele salva, mas na maioria das vezes resolve o perrengue).

O Docker nada mais é do que uma forma de empacotar tudo que uma aplicação precisa pra funcionar — código, bibliotecas, configurações — e rodar isso dentro de um container. Pensa no container como uma caixinha isolada: o que tá lá dentro não se mistura com o que tá fora. Então, se você tem um app que usa Python 3.12 e outro que usa Python 3.8, cada um vive tranquilo no seu cantinho, sem brigar.

E não, não confunda com máquina virtual. VM é tipo montar um apartamento inteiro só pra usar a cozinha. Já o container é mais esperto: ele pega só o que precisa do “prédio” (o sistema operacional) e monta a cozinha rapidinho. Resultado: sobe em segundos, gasta menos recurso e é muito mais fácil de carregar pra qualquer lugar.

Na prática, como funciona? Primeiro, você instala o Docker. No Linux, por exemplo, se você usa Rocky Linux 8 (como eu), é só rodar alguns comandos e pronto, já tá no ponto. E aí vem uma das grandes vantagens: se algo der errado, você não precisa formatar, reinstalar sistema ou passar horas limpando bagunça. É só apagar o container e começar de novo — tudo limpo, sem trauma.

Hoje, vou te mostrar como instalar o Docker e, de quebra, vamos subir nosso próprio blog dentro de um container.

Bom como eu sempre uso a mesma maquina para criar os artigos, ela ja está atualizada, no entanto como de praste vamos seguir com o primeiro comando,

Instalando e configurando o Docker no Rocky Linux 8

Primeiro, vamos atualizar o sistema:

 sudo dnf update -y

Adicionando o repositório oficial do Docker

 sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Instalando o Docker

dnf install docker-ce docker-ce-cli containerd.io -y

Habilitando os serviços

sudo systemctl start docker
sudo systemctl enable docker

Testando a instalação

O Docker tem um container chamado Hello World que serve como teste rápido. Vamos rodar ele:

sudo docker run hello-world

Se tudo correu bem, você verá uma mensagem de sucesso parecida com a minha.

Beleza…. até aqui sem novidade certo ? porém agora vamos fazer o seguinte, vamos subir um wordpress com MySQL usando o Docker !!

Sudoers Blog on Docker 😎

Instalando o Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Agora com ele instalado vamos criar uma pasta para que será referente ao nosso blog :

mkdir meu_blog
cd meu_blog

Criando o docker-compose.yml

Dentro dessa pasta, crie um arquivo chamado docker-compose.yml e coloque o seguinte conteúdo:

version: '3.8'

services:
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
      MYSQL_ROOT_PASSWORD: root
    volumes:
      - db_data:/var/lib/mysql

  wordpress:
    image: wordpress:latest
    restart: always
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress_data:/var/www/html

volumes:
  db_data:
  wordpress_data:

Tá…. mais oque isso faz ?????

Depois de criar o arquivo docker-compose.yml,

No nosso caso, ele monta dois containers que trabalham juntos:

  • db → É o banco de dados MySQL 5.7, que vai guardar todos os posts, usuários e configurações do WordPress. Ele já nasce com um banco chamado wordpress e credenciais configuradas. Os dados ficam guardados num volume chamado db_data, então você não perde nada se reiniciar o container.

  • wordpress → É o próprio site WordPress, já com PHP e servidor web prontos. Ele se conecta ao banco db e fica acessível na porta 8080 da sua máquina. Os arquivos do site ficam num volume chamado wordpress_data.

Resumindo: é como se fosse um kit pronto, o banco de dados e o site já chegam se falando, prontos pra trabalhar. Você só dá o comando docker-compose up -d e pronto, o blog tá de pé. (top demais)

docker-compose up -d

Conferindo se está rodando

Se rodou o comando acima e não apareceu nada, é normal! Pra ver os containers ativos:

docker ps

Isso significa que a porta 8080 do seu servidor está mapeada para a porta 80 do container.

Acessando o WordPress

Abra no navegador:

http://SEU_IP:8080

Caso tudo funcione você ao abrir o ip do seu servidor na porta 8080 ele vai aparecer a tela de instalação do WordPress :

Se tudo deu certo, a tela de instalação do WordPress vai aparecer.

O mais incrível? Você não precisou instalar MySQL, Apache, PHP… nada disso no seu sistema! Tudo está rodando dentro dos containers. Isso facilita muito a vida e evita bagunça no servidor.

Hoje, o Docker é usado para rodar desde blogs até sistemas complexos. Você pode até subir um Asterisk pronto no Docker, sem compilar nada só rodar o container e usar.

Valeu pessoal e até a próxima !!!!!

0
Subscribe to my newsletter

Read articles from Hudson Alves Amaral directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Hudson Alves Amaral
Hudson Alves Amaral