WordPress é escrito em PHP e apoiado por um banco de dados MySQL. Isso significa que ele utiliza Linux, Apache, MySQL e PHP ou pilha LAMP. A arquitetura central do WordPress é modular, que oferece amplos recursos e extensibilidade usando plug-ins e temas.
Como desenvolvedor, você pode encontrar a necessidade de executar rapidamente uma instância do WordPress sem configurar todos os requisitos e ferramentas do servidor. É aqui que entra o Docker.
Neste tutorial, aprenderemos como configurar rapidamente um WordPress básico usando Docker Compose e ferramentas simples.
Requisitos
Para usar este tutorial, você precisará do seguinte:
- Docker Engine instalado em sua máquina host.
- Permissões suficientes para executar contêineres Docker.
- Docker Compose instalado em sua máquina.
- Conhecimento básico para escrever e usar arquivos de composição do Docker.
Definindo o arquivo Docker Compose
Para executarmos o WordPress usando Docker Compose, precisamos definir o arquivo de composição. Isso incluirá todas as ferramentas e serviços de que precisamos para executar o WordPress.
Crie um novo arquivo chamado docker-compose.yml.
$ tocar docker-compose.ymlEdite o arquivo e adicione a configuração conforme mostrado:
Serviços:
banco de dados:
imagem: mysql:8.0.27
comando: '--default-authentication-plugin=mysql_native_password'
volumes:
- dados_db: / era / biblioteca / mysql
reiniciar: sempre
ambiente:
- MYSQL_ROOT_PASSWORD = mysql
- MYSQL_DATABASE =wordpress
- MYSQL_USER =wordpress
- MYSQL_SENHA =wordpress
expor:
- 3306
- 33060
wordpress:
imagem: wordpress:mais recente
portos:
- 80 : 80
reiniciar: sempre
ambiente:
- WORDPRESS_DB_HOST =db
- WORDPRESS_DB_USER =wordpress
- WORDPRESS_DB_PASSWORD =wordpress
- WORDPRESS_DB_NAME =wordpress
volumes:
dados_db:
No Dockerfile acima, temos a configuração dividida nas seções a seguir. Cada seção executa um conjunto específico de instruções.
A primeira é a seção db. Esta seção diz ao Docker para executar as ações da seguinte forma:
- Use a imagem “mysql:8.0.27”.
- Defina o plugin de autenticação padrão para “mysql_native_password”.
- Monte um volume chamado “db_data” para armazenar dados MySQL de forma persistente.
- Reinicie o serviço automaticamente.
Também definimos variáveis de ambiente para configuração do MySQL, incluindo senha root, nome do banco de dados, usuário e senha do usuário.
Finalmente, expomos as portas 3306 e 33060 para conexões de banco de dados.
Na seção WordPress, instruímos o Docker a realizar as seguintes ações:
- Usa a imagem wordpress:latest.
- Mapeie a porta 80 no host para a porta 80 no contêiner para acesso à web.
- Reinicie o serviço automaticamente.
Também especificamos as variáveis de ambiente para o WordPress se conectar ao banco de dados MySQL, incluindo o host do banco de dados, usuário, senha do usuário e nome do banco de dados.
Por último, configuramos os volumes Docker para armazenamento persistente de dados.
Executando os contêineres
Assim que tivermos a configuração especificada ao nosso gosto, podemos prosseguir e executar os contêineres e os serviços definidos no arquivo de composição como:
$ docker compor -dIsto deve construir todas as imagens e iniciar os serviços conforme definido acima.
Configurando WordPress
Assim que todos os serviços estiverem em execução, você pode ir para o endereço http://localhost:80 para configurar sua instância do WordPress.
Conclusão
Neste tutorial, cobrimos os princípios básicos de como executar rapidamente uma instância do WordPress em um contêiner Docker usando Docker compose.