Crie um site de testes de WordPress com Docker

O WordPress é uma ferramenta simples e popular para criar páginas de web. No entanto, ao desenvolver novos projetos ou testar alterações no código, é comum precisar de um ambiente de testes isolado. Nesse artigo, vamos aprender como criar um site de testes do WordPress com Docker e volumes.

Para isso necessita de ter o Docker já instalado. Pode seguir os nossos artigos de como Instalar Docker em Windows, Instalar Docker em MacOS e Instalar Docker em Linux.

Passos para a criação do volume: Para criar o volume do WordPress, você precisa criar uma diretoria na sua máquina onde vão ficar guardados os arquivos do site. De seguida, você pode configurar com o Docker Compose para utilizar essa diretoria como volume para o docker.

Criem um ficheiro com o nome compose.yaml dentro de uma diretoria da vossa escolha, depois podem copiar e alterar o código seguinte e gravar neste ficheiro.

Exemplo 1: Utilizando volumes

version: '3.1'
services:
  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: [UTILIZADOR DA BD]
      WORDPRESS_DB_PASSWORD: [PASSWORD DA BD]
      WORDPRESS_DB_NAME: [NOME BD]
    volumes:
      - wordpress:/var/www/html

  db:
    image: mysql:8.4.2
    restart: always
    environment:
      MYSQL_DATABASE: [NOME BD]
      MYSQL_USER: [UTILIZADOR DA BD]
      MYSQL_PASSWORD: [PASSWORD DA BD]
      MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:

Exemplo 2: Utilizando mount

Neste exemplo é mais simples aceder aos ficheiros do wordpress para poder copiar para um sistema produtivo ou para fazer alterações diretamente da directoria dos ficheiros.

version: '3.1'
services:
  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: [UTILIZADOR DA BD]
      WORDPRESS_DB_PASSWORD: [PASSWORD DA BD]
      WORDPRESS_DB_NAME: [NOME BD]
    volumes:
      - [DIRETORIA LOCAL WORDPRESS]:/var/www/html

  db:
    image: mysql:8.4.2
    restart: always
    environment:
      MYSQL_DATABASE: [NOME BD]
      MYSQL_USER: [UTILIZADOR DA BD]
      MYSQL_PASSWORD: [PASSWORD DA BD]
      MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
    volumes:
      - [DIRETORIA LOCAL BD]:/var/lib/mysql

Substitua as seguintes partes do código que utilizou pela informação da vossa necessidade:

[NOME BD] -> Nome que querem dar à vossa base de dados.

[UTILIZADOR DA BD] -> Nome do utilizador que vai ser usado pelo WordPress para aceder aos dados.

[PASSWORD DA BD] -> Password para o utilizador da base de dados.

[DIRETORIA LOCAL WORDPRESS] -> Neste último código tem esta opção pois em vez de ter um volume onde é mais difícil aceder aos ficheiros do wordpress, pode aceder diretamente da directoria local escolhida. Se usa um computador com Windows deve usar esta estrutura /c/wordpress/html para por exemplo usar a diretoria c:\wordpress\html. Se usa sistemas operativos como Linux ou MacOS, pode usar normalmente tal como é usado no sistema, ou seja /home/myuser/Documents/wordpress/html tal como usa no sistema.

[DIRETORIA LOCAL BD] -> Diretoria no disco local da BD.

Depois na mesma diretoria onde gravou o ficheiro compose.yaml abra um terminal e corra o seguinte comando para correr o Docker do WordPress:

docker compose up

Depois para aceder no browser use http://localhost:8080

Para parar o Docker de WordPress use o seguinte comando na mesma diretoria:

docker compose stop

Alguma dúvida deixe o vosso comentário.

Espero ter ajudado.

Pode fazer uma doação para ajudar a mater o site, Obrigado!