Como configurar o WordPress usando o Docker no Ubuntu

Docker Wordpress Installation
⏱️ 10 min read

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:

  1. 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
  1. 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
  1. 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
  1. 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
  1. 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.

Área de trabalho 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.

  1. 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.).
  2. 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.
  3. 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.
  4. 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.

  1. Desinstale qualquer versão anterior do Docker-desktop instalada em seu sistema
sudo apt remove docker-desktop
  1. 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
  1. 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
  1. Agora vá para este página de lançamento e baixe as últimas .deb pacote do Docker-desktop.
  2. 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.

  1. Crie um novo arquivo docker-compose.yml.
sudo nano docker-compose.yml
  1. 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.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Você pode gostar...

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x