Gerir sites WordPress em Docker

O WP Staging CLI permite criar e gerir ambientes WordPress baseados em Docker para desenvolvimento e testes locais. Este guia abrange como adicionar, listar, eliminar e gerir sites WordPress.

O que vai obter

Cada site Docker inclui:

  • PHP-FPM com a versão de PHP que escolher
  • Servidor web Nginx com HTTPS
  • Base de dados MariaDB
  • Mailpit para testes de email
  • Certificados SSL automáticos através do mkcert
  • Configuração do ficheiro hosts para domínios locais

Pré-requisitos

  • Docker 20.10.0 ou posterior
  • Docker Compose 2.19.0 ou posterior
  • 2 núcleos de CPU e 4 GB de RAM, no mínimo

Adicionar um novo site

Crie um novo site WordPress com um domínio local personalizado:

wpstaging add https://mysite.local

Ou sem o protocolo:

wpstaging add mysite.local

Precisa de um WordPress Multisite?

wpstaging add mysite.local --multisite

Depois de o site ser criado, pode aceder-lhe em https://mysite.local.

Adicionar um site a partir de um ficheiro de Backup existente

Crie um novo site e restaure a partir de um ficheiro de backup WP Staging num único passo:

wpstaging add mysite.local --from=backup.wpstg

Ou a partir de um URL remoto:

wpstaging add mysite.local --from=https://example.com/backup.wpstg

WordPress Multisite:

wpstaging add mysite.local --multisite --from=BACKUP_URL

Esta é a forma recomendada de criar uma cópia local do seu site de produção. Trata de tudo: instalação Docker, extração do backup, importação da base de dados e substituição do URL.

Personalizar a configuração do site

Versão do PHP

Indique a versão do PHP (a predefinição é 8.1):

wpstaging add mysite.local --php=8.2

As versões de PHP disponíveis dependem das imagens Docker suportadas.

Versão do WordPress

Instale uma versão específica do WordPress (a predefinição é a mais recente):

wpstaging add mysite.local --wp=6.4.2

Portas personalizadas

Altere as portas predefinidas caso entrem em conflito com outros serviços:

wpstaging add mysite.local \
  --http-port=8080 \
  --https-port=8443 \
  --db-port=3307

Endereço IP do contentor

Por predefinição, os sites usam endereços IP no intervalo 127.3.2.x. Pode indicar um IP personalizado:

wpstaging add mysite.local --container-ip=127.0.0.1

Caminho do ambiente

Altere o local onde os ambientes Docker são guardados (predefinição: ~/wpstaging):

wpstaging add mysite.local --env-path=/custom/path

Todas as opções do comando add

OpçãoPredefiniçãoDescrição
--php8.1Versão do PHP
--wplatestVersão do WordPress
--fromCaminho ou URL do ficheiro de backup a restaurar
--env-path~/wpstagingCaminho onde guardar os ambientes Docker
--container-ip127.3.2.1Endereço IP do contentor
--http-port80Porta HTTP do Nginx
--https-port443Porta HTTPS do Nginx
--db-port3306Porta do MariaDB
--db-root123456Palavra-passe root do MariaDB
--mailpit-http-port8025Porta da interface web do Mailpit
--disable-mailpitfalseDesativar o contentor do Mailpit

Opções de configuração do WordPress

OpçãoPredefiniçãoDescrição
--db-nameautoNome da base de dados do WordPress
--db-userautoUtilizador da base de dados do WordPress
--db-passautoPalavra-passe da base de dados do WordPress
--db-prefixwp_Prefixo das tabelas do WordPress
--db-hostlocalhostHostname da base de dados do WordPress
--db-sslfalseAtivar SSL na ligação à base de dados do WordPress
--admin-useradminNome do administrador WordPress
--admin-passadminPalavra-passe do administrador WordPress
--admin-emailadmin@dev.nullEmail do administrador WordPress
--secure-credentialsfalseGerar credenciais aleatórias e seguras
--multisitefalseAtivar WordPress Multisite

Listar sites

Veja todos os sites WordPress no seu ambiente Docker:

wpstaging list

Exemplo de saída:

HOSTNAME            STATUS      PHP     IP
mysite.local        running     8.1     127.3.2.1
dev.local           stopped     8.2     127.3.2.2
test.local          running     8.0     127.3.2.3

Ver detalhes de sites específicos

Obtenha informação detalhada sobre um ou mais sites:

wpstaging list mysite.local

Ou vários sites:

wpstaging list site1.local site2.local

Eliminar sites

Elimine um site específico:

wpstaging del mysite.local

Elimine vários sites:

wpstaging del site1.local site2.local

Elimine todos os sites (com confirmação):

wpstaging del

Aviso: Eliminar um site remove todos os seus ficheiros, base de dados e configuração. Esta ação não pode ser anulada.

Ativar/desativar sites

Desative um site sem o eliminar:

wpstaging disable mysite.local

Reative um site desativado:

wpstaging enable mysite.local

Os sites desativados mantêm os seus dados, mas os respetivos contentores não são iniciados.

Repor um site

Reponha um site para uma instalação WordPress nova:

wpstaging reset mysite.local

Esta ação remove todo o conteúdo WordPress e reinstala o WordPress, mantendo a configuração Docker intacta.

Repor com uma versão diferente do WordPress

Indique uma versão diferente do WordPress durante a reposição:

wpstaging reset mysite.local --wp=6.5

Repor e restaurar a partir de um Backup

Reponha o site e restaure a partir de um backup WP Staging num único passo:

wpstaging reset mysite.local --from=backup.wpstg
wpstaging reset mysite.local --from=https://example.com/backup.wpstg

Credenciais seguras

Para maior segurança, especialmente em ambientes partilhados, utilize credenciais aleatórias:

wpstaging add mysite.local --secure-credentials

Isto gera palavras-passe aleatórias para:

  • Utilizador root do MariaDB
  • Utilizador da base de dados do WordPress
  • Utilizador administrador do WordPress

As credenciais geradas são mostradas após a criação do site.

WordPress Multisite

Crie uma instalação WordPress Multisite:

wpstaging add mynetwork.local --multisite

Notas sobre macOS

Utilizadores de macOS: A criação automática de alias de IP está ativa por predefinição para configurações multi-site sem fricção, usando o intervalo de loopback 127.3.2.1 – 127.3.2.254. Esta operação requer sudo e ser-lhe-á pedida a palavra-passe.

Dica: Configure sudo sem palavra-passe para o wpstaging e evite pedidos repetidos de palavra-passe. Consulte as FAQ para instruções.

Próximos passos

Updated on May 23, 2026

Rene Hermenau

Autor: Rene Hermenau

About the author: René Hermenau is the founder of WP STAGING. He works on WordPress backups, staging, migrations, database handling, and safe deployment workflows.