Como Criar um Container Docker para WordPress com MySQL
O WordPress é um dos CMS (Content Management Systems) mais populares do mundo, e com o Docker, podemos criar rapidamente um ambiente isolado para desenvolvimento e produção. Este tutorial irá guiá-lo pela configuração de containers Docker para hospedar tanto o WordPress quanto o banco de dados MySQL.
Pré-requisitos
Antes de começar, certifique-se de ter o Docker e o Docker Compose instalados no seu sistema:
Após isso, podemos iniciar o processo de configuração.
Passo 1: Criar o diretório do projeto
Crie um diretório para o projeto WordPress onde os arquivos de configuração do Docker serão salvos.
mkdir wordpress-docker
cd wordpress-docker
Passo 2: Criar o arquivo docker-compose.yml
Neste diretório, crie o arquivo docker-compose.yml, que irá definir os serviços do WordPress e do MySQL.
touch docker-compose.yml
Agora, abra o arquivo com seu editor de texto favorito (ex.: nano docker-compose.yml) e adicione o seguinte conteúdo:
version: '3.8'
services:
wordpress:
image: wordpress:latest
container_name: wordpress
restart: always
ports:
- "8000:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- ./wp-content:/var/www/html/wp-content
depends_on:
- db
db:
image: mysql:5.7
container_name: mysql
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
MYSQL_ROOT_PASSWORD: root_password
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
O que o arquivo docker-compose.yml faz?
- Versão do Compose: Especificamos
version: '3.8'para usar uma versão recente do Docker Compose. - Serviços:
- WordPress:
- Usa a imagem oficial
wordpress:latest. - Define a porta do host
8000para mapear para a porta interna do container80(porta padrão do WordPress). - Configura as variáveis de ambiente para se conectar ao banco de dados MySQL.
- Mapeia um volume local
./wp-contentpara o diretóriowp-contentdo WordPress (para persistir dados como plugins e temas).
- Usa a imagem oficial
- MySQL:
- Usa a imagem oficial
mysql:5.7. - Define variáveis de ambiente para configurar o banco de dados, o usuário, e a senha.
- Usa um volume nomeado
db_datapara persistir os dados do banco de dados.
- Usa a imagem oficial
- Volumes:
- Definimos o volume
db_datapara armazenar os dados do MySQL, de modo que, mesmo que o container seja removido, os dados permaneçam intactos.
Passo 3: Iniciar os containers
Com o arquivo docker-compose.yml pronto, você pode iniciar os containers executando o comando:
docker-compose up -d
- A opção
-dfaz com que os containers rodem em segundo plano. - O Docker Compose irá baixar as imagens necessárias (WordPress e MySQL), criar os containers, e iniciar os serviços.
Passo 4: Verificar os containers
Para verificar se os containers foram criados corretamente, execute o comando:
docker-compose ps
Você deve ver algo assim:
Name Command State Ports
------------------------------------------------------------------------
mysql docker-entrypoint.sh mysqld Up 3306/tcp
wordpress docker-entrypoint.sh apach ... Up 0.0.0.0:8000->80/tcp
Isso significa que tanto o MySQL quanto o WordPress estão em execução.
Passo 5: Configurar o WordPress
Agora, abra seu navegador e acesse http://localhost:8000. Você verá a página de configuração inicial do WordPress, onde poderá selecionar o idioma e configurar o nome do site, além de criar um usuário administrador.
- Escolha o idioma.
- Insira o nome do site, seu nome de usuário, senha e endereço de e-mail.
- Clique em Instalar WordPress.
Passo 6: Persistindo dados
- Banco de dados: O MySQL armazena seus dados no volume
db_data, o que significa que os dados persistirão mesmo que o container seja removido. - WordPress: Para garantir que o conteúdo do WordPress, como temas, plugins e uploads, seja preservado, o diretório
wp-contentfoi mapeado para o diretório local./wp-contentno seu sistema host.
Passo 7: Gerenciamento dos Containers
Aqui estão alguns comandos úteis para gerenciar os containers:
- Parar os containers:
docker-compose down
- Parar e remover os containers, volumes e redes:
docker-compose down --volumes
- Ver logs dos containers:
docker-compose logs -f
- Reiniciar os containers:
docker-compose restart
Passo 8: Fazer backup do banco de dados
Para realizar um backup do banco de dados MySQL, você pode usar o seguinte comando:
docker exec mysql /usr/bin/mysqldump -u wordpress --password=wordpress wordpress > backup.sql
Isso criará um arquivo backup.sql com o conteúdo do banco de dados.
Conclusão
Você configurou com sucesso um ambiente WordPress usando Docker, com uma instância MySQL. Esse ambiente é ideal para desenvolvimento local, testes e até mesmo para pequenos sites em produção. Ao usar o Docker, você se beneficia de um ambiente isolado, rápido de configurar e fácil de gerenciar.

Leave a comment