O WordPress é o sistema de gerenciamento de conteúdo (CMS) mais popular do mundo. Mais de 40% da web é executada no WordPress. Docker é um sistema de conteinerização usado para executar seu software em um ambiente isolado. O conceito de conteinerização não é novo no mundo do desenvolvimento de software. Mas o Docker o torna muito amigável ao desenvolvedor.
Neste artigo, mostraremos como instalar o site WordPress em um contêiner do Docker.
Por que Docker?
Por que Docker, você pode perguntar?
A resposta é simplicidade. No Docker, seu aplicativo é conteinerizado em uma imagem. Não há necessidade de instalação e configuração complicadas para executá-lo.

Sem mencionar que também é mais rápido e fácil migrar/atualizar para outro servidor. Digamos que seu WordPress se torne muito popular e você precise atualizar seu servidor existente? É fácil fazer isso com o Docker, pois tudo já está conteinerizado. Se você desenvolver algo usando o Docker, após a implantação, ele funcionará em todos os lugares.
Instalação do Docker
Neste artigo, vamos instalar um mecanismo Docker dentro do servidor Ubuntu.
Antes de instalar qualquer coisa, se você tiver uma versão mais antiga do Docker instalada em seu sistema, remova-a. Execute este comando em seu terminal para remover todas as versões mais antigas do Docker.
sudo apt autoremove docker docker-engine docker.io containerd runc
Agora vamos iniciar nossa instalação:
- Atualize seus índices de pacotes locais executando apt-get update e install dependências para o mecanismo Docker.
sudo apt update sudo apt install ca-certificates curl gnupg lsb-release
- Adicione a chave GPG oficial do Docker.
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- Configure o repositório.
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- Instale a versão mais recente do mecanismo Docker.
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
- Verifique a instalação do Docker executando uma imagem hello world.
sudo docker run hello-world
Se esta imagem do Docker hello-world for executada sem nenhum erro, parabéns. Você instalou com sucesso o Docker em sua máquina Ubuntu Linux.
Instalação do Docker Desktop
Se você é um usuário de desktop Linux e deseja instalar o Docker para fins de desenvolvimento, o desktop Docker deve ser o candidato preferido em comparação com o mecanismo Docker. O Docker Desktop fornece uma experiência unificada e uma maneira agnóstica de plataforma para criar, executar e enviar imagens do Docker.

A área de trabalho do Docker no Linux é executada dentro de uma máquina virtual, que é bem oposta ao modelo de kernel compartilhado do mecanismo Docker. É por isso que sua CPU precisa dar suporte à tecnologia de virtualização e ao Linux KVM para que o Docker Desktop funcione. Você pode verificar o status da virtualização nas configurações de UEFI/BIOS. O Docker Desktop é suportado nas principais distribuições Linux como Ubuntu, Debian e Fedora.
A necessidade de usar uma máquina virtual para a área de trabalho do Docker é múltipla. Alguns deles são descritos a seguir.
- O uso de uma máquina virtual oferece desempenho e experiências consistentes na área de trabalho do docker em todas as plataformas (Windows, Linux. macOS, Raspberry Pi etc.).
- Como os usuários mantêm a versão de lançamento de suporte de longo prazo de sua distribuição, eles não obtêm os benefícios dos recursos mais recentes do kernel. Usar uma VM resolve esse problema. Agora o Docker pode selecionar sua versão do Kernel e trabalhar com o kernel Linux mais recente.
- O uso de uma máquina virtual também oferece segurança ao usuário. Como sabemos, qualquer pessoa pode fazer upload de imagens para o hub do Docker. Às vezes, as imagens podem conter algum código malicioso que pode explorar sua área de trabalho. Se você puxar essas imagens maliciosas para sua máquina, essas imagens podem destruir sua máquina.
- Como a área de trabalho do Docker funciona dentro de uma máquina virtual, as imagens maliciosas não podem afetar a máquina host. Isso torna a área de trabalho do Docker um candidato irresistível para experimentar novas imagens do Docker.
Primeiro, certifique-se de que seu sistema suporte KVM, qemu, systemd-init e indicador de aplicativo. Você deve ter pelo menos 4 GB de RAM em seu sistema.
- Desinstale qualquer versão anterior do Docker-desktop instalada em seu sistema
sudo apt remove docker-desktop
- Para uma limpeza e limpeza completas de todos os arquivos de configuração, execute o seguinte comando
rm -r $HOME/.docker/desktop sudo rm /usr/local/bin/com.docker.cli sudo apt purge docker-desktop
- Configure o repositório de pacotes do Docker executando os comandos a seguir.
sudo apt update sudo apt install ca-certificates curl gnupg lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- Agora vá para este página de lançamento e baixe as últimas
.deb
pacote do Docker-desktop. - Instale o
.deb
pacote usando dpkg.
sudo apt update sudo apt install ./docker-desktop-<version>-<arch>.deb
Para iniciar a área de trabalho do Docker, pesquise no menu do aplicativo e inicie o aplicativo como um normal. Lá você pode ver um guia de boas-vindas. Siga o guia para saber mais sobre a área de trabalho do Docker para Linux e como usá-la. Você também pode criar contêineres e imagens com a ajuda do aplicativo de desktop Docker.
Serviços que precisamos para WordPress
Precisamos principalmente de 3 componentes para rodar o WordPress dentro dos containers Docker. Primeiro, precisamos do próprio WordPress, depois precisamos de um banco de dados MySQL e, em seguida, precisamos de um espaço ou volume de armazenamento.
O WordPress armazena todos os seus dados gerados pelo usuário dentro de um banco de dados MySQL. Portanto, o banco de dados MySQL tem um papel crucial em nossa instalação do WordPress.
O armazenamento ou volume é necessário quando você deseja instalar novos temas ou plugins. Esses arquivos de tema ou plugin serão armazenados dentro do espaço do volume.
Usando um arquivo de composição do Docker
Como nosso aplicativo precisa de mais de um serviço, é melhor usar o Docker-compose. O Docker compose é uma ferramenta do Docker que inicia e mantém os contêineres do Docker e estabelece um relacionamento entre eles.
- Crie um novo arquivo docker-compose.yml.
sudo nano docker-compose.yml
- Na seção anterior, aprendemos que precisamos principalmente de 3 serviços. WordPress em si, um banco de dados MySQL e espaço de volume. Portanto, nosso arquivo docker-compose ficará assim. Você pode copiar este arquivo docker-compose.yml se não precisar de nenhuma outra personalização.
version: '3.3' services: wordpress: depends_on: - db image: wordpress:latest volumes: - wordpress_files:/var/www/html ports: - "80:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: my_wordpress_db_password db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: my_db_root_password MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: my_wordpress_db_password volumes: wordpress_files: db_data:
No arquivo docker-compose acima, primeiro definimos o WordPress e o DB (usando o banco de dados MySQL) como um serviço. Então o WordPress depende do DB para salvar seus dados. Usamos a imagem mais recente do WordPress para criar um contêiner do WordPress. O contêiner do WordPress reserva a porta 80. É a porta padrão para serviços da web. Portanto, quando você digita seu http://nome-dominio.com URL no seu navegador, este contêiner do WordPress atende você com uma resposta.
Dentro do serviço de banco de dados, usamos a imagem MySQL versão 5.7 para fazer nosso container. Em seguida, fornecemos todas as credenciais necessárias para conversar com nosso contêiner WordPress.
Por fim, definimos nossos volumes. Lá, todos os arquivos do WordPress e dados do banco de dados serão armazenados. Se você estiver executando essa configuração em um servidor, precisará fazer backup regularmente desse volume.
Executando o WordPress dentro do Docker
Agora crie uma pasta ou diretório e mova este arquivo docker-compose.yml para dentro do diretório. Em seguida, execute este comando.
docker-compose up -d
Após este comando, o Docker irá puxar todas as imagens que descrevemos dentro do nosso arquivo docker-compose.yml e criar um container a partir dele. A primeira execução pode levar muito tempo, pois o docker precisa baixar todos os arquivos do DockerHub. Depois que as coisas estiverem configuradas, ao carregar o endereço IP do servidor no navegador, você deverá ver a tela de instalação do WordPress.
Parabéns! Você executou o WordPress com sucesso em um contêiner do Docker. Observe que isso não significa que ainda está pronto para uso em produção – você ainda precisa configurar um certificado SSL.
Se você quiser saber mais sobre o Docker, pode seguir este artigo amigável para iniciantes.
perguntas frequentes
Posso executar o Docker-desktop simultaneamente com o mecanismo Docker?
Sim, você pode executar o Docker-desktop e o mecanismo Docker simultaneamente em sua máquina. Mas quando ambos os serviços precisam acessar os mesmos recursos do sistema, como portas ou volumes de rede, isso cria um conflito entre eles. Portanto, é aconselhável interromper um serviço antes de iniciar um.
As áreas de trabalho do Docker podem ser interrompidas facilmente com a ajuda de um aplicativo GUI (interface gráfica do usuário). Para interromper o mecanismo do Docker, execute o comando a seguir.
sudo systemctl stop docker docker.socket containerd
sudo systemctl disable docker docker.socket containerd
Como iniciar automaticamente o site WordPress após a reinicialização?
Se você parou seu servidor para manutenção ou para atualizar algumas coisas, você pode configurá-lo para iniciar automaticamente o WordPress após cada reinicialização usando o Docker. Basta adicionar restart: always
parâmetro em cada serviço do seu arquivo docker-compose. Você pode ver esse parâmetro que adicionamos no arquivo docker-compose.yml.
Posso usar o Nginx com o Docker-compose e o WordPress?
Sim, você pode usar o Nginx ou qualquer outro tipo de servidor para servir o conteúdo do WordPress usando o Docker. O Nginx também pode ser usado como proxy reverso. Você pode distribuir seu tráfego facilmente instalando o Nginx com Docker e WordPress.