Saiba como migrar um site WordPress para um contêiner Docker

O Docker WordPress é um software que gera contêineres para compactar aplicações e permitir realizar testes e alterações em APIs isolados. O método proporciona um processo muito mais ágil, seguro e garante produtividade sem afetar a disponibilidade dos sites.

docker wordpress

    Indiscutivelmente, o WordPress é uma das principais plataformas de gestão de conteúdo conhecidas atualmente. Com grande versatilidade para criar sites de todos os tipos, essa opção se destaca também por sua facilidade de operação e de manutenção, especialmente na hora de subir alterações. Para realizar essas mudanças, migrar o projeto para o Docker WordPress é a melhor alternativa!

    Ambientes seguros, que consigam replicar separadamente toda a infraestrutura dos sites, são mecanismos essenciais para programadores que precisam trabalhar em melhorias. O risco de realizar esses ajustes com o site no ar podem ser graves e não vale a pena contar com a sorte. Por isso, um contêiner é uma alternativa melhor do que a virtualização.

    Neste post trataremos com mais detalhes o processo de migração de um site WordPress para um contêiner Docker. O conteúdo tratará alguns pontos como:

    • O que é a migração pelo Docker WordPress?
    • Por que migrar meu site WordPress para um contêiner Docker?
    • Como preparar o ambiente?
    • Como configurar?
    • Como executar com docker-compose?

    Continue a leitura e confira!

    O que é a migração pelo Docker WordPress?

    A migração pelo Docker WordPress é um procedimento em que é possível transferir toda API de um site para um ambiente específico separado. 

    A proposta desse software é garantir um ambiente isolado da estrutura dos sites, para que a realização de mudanças sejam feitas sem problemas. O processo, na prática, é muito mais ágil do que uma virtualização, procedimento tradicional.

    Ao migrar, o usuário leva toda essa infraestrutura para outro local, garantindo que o site se mantenha ativo e no ar. Assim, paralelamente, é possível realizar testes, modificações e trabalhar na programação em um ambiente API que fica em um contêiner. 

    Essa é uma prática que visa agilidade e a garantia de um processo de trabalho sem consequências para o site.

    O Docker, como um software

    O Docker é um software desenvolvido pelo Google, mas com uma proposta democrática de uso livre. Por isso, ele é de código aberto, podendo ser otimizado pela comunidade de usuários, composta em sua maioria por programadores. 

    Ele é um software de alto desempenho e que permite essa migração para contêineres em processos seguros e altamente eficazes.

    Na linha do tempo do processo, o Docker permite, primeiramente, criar um ambiente em que a API do site será hospedada. Assim, em um procedimento rápido, esse contêiner é criado, permitindo que o trabalho de transferência da estrutura do site seja executado facilmente. Todo o trabalho é padronizado, graças às bibliotecas e ferramentas do Docker.

    Além disso, o software é estruturado na linguagem Go, facilitando as otimizações que a comunidade de usuários pode propor.

    Por que migrar meu site WordPress para um contêiner Docker?

    Ter um site WordPress hospedado em serviços de ponta, como o Stage, é o início de um projeto de sucesso. No entanto, para garantir isso a longo prazo, é fundamental considerar as mudanças, testes e novas implantações que são feitas no meio do caminho. 

    Esses processos só são feitos com agilidade e produtividade com a ajuda de um software como o Docker. A seguir, veja em alguns pontos como ele pode ser extremamente útil na hora de escolher a migração para contêineres.

    Agilidade na disponibilização do API

    A virtualização pode ser um dos processos mais demorados na hora de realizar ajustes e implantações em um site. Por mais que seja um trabalho necessário, é perfeitamente possível otimizar isso utilizando um software como o Docker WordPress. 

    Com a migração do API feita dessa forma é possível ter um processo até sete vezes mais rápido do que o normal.

    Alterações por módulos

    O Docker permite que o conteúdo da aplicação em questão, no caso o site, fique modulado. Isso significa que você pode desabilitar alguns desses módulos antes de realizar as alterações, ajustes ou testes que pretender. 

    Na prática, isso significa que não é necessário tirar a aplicação do ar, já que a desabilitação de um módulo funcionará apenas para algumas funcionalidades.

    Possibilidade de reversão

    Alterações podem nem sempre ter os resultados que o profissional espera, e isso não é um problema quando o Docker WordPress é utilizado. Isso porque o software tem uma funcionalidade de reversão, ou seja, tudo que foi alterado pode ser retornado às suas configurações iniciais, desfazendo o trabalho e mantendo a estrutura prévia da aplicação.

    Agilidade na implantação

    Uma implantação ágil é importante para retornar todos os módulos ao pleno funcionamento e evitar qualquer risco de instabilidade do site. Com o Docker isso é possível, uma vez que o processo de API em contêiner é muito mais eficaz do que a tradicional virtualização.

    Como preparar o ambiente?

    Antes de começar a migração do API para Docker WordPress é essencial preparar todo o ambiente, com cada um dos passos essenciais para realizar um processo completo e sem riscos. A seguir, veja um passo a passo com todas as etapas necessárias!

    Download do Docker

    Primeiramente, é necessário baixar a última versão do Docker, que você encontra no site oficial do software. Assim, basta abrir o instalador e seguir o passo a passo básico que todo usuário já está acostumado, seguindo todas as etapas de um instalador padrão.

    docker wordpress

    Ao fim da instalação, o Docker WordPress não iniciará automaticamente. Você precisa fazer isso manualmente e, na parte de configurações do software, deve configurar o RAM que será disponibilizado para que o Docker rode.

    docker wordpress

    Como executar o Docker WordPress?

    A primeira coisa que precisamos fazer é definir como será nossa imagem em um Dockerfile. Ele é um arquivo de texto que será adicionado ao diretório com as fontes da sua aplicação.

    Um Dockerfile, geralmente, consiste de dois comandos:

    • FROM – Para construir a aplicação, use a imagem oficial do WP “FROM wordpress:php7.1-apache”;
    • COPY – Copiar o código para o diretório definido na imagem.

    O próprio Dockerfile deve ser nomeado “Dockerfile”.

    Dando origem à imagem do seu site WordPress

    Com seu Docker file devidamente configurado, é hora de montar a imagem do seu site no terminal. Para isso, você precisará usar o seguinte comando:

    $ cd my_repo
    $ docker build -t 'wp-image' .
    

    Esse comando originará uma imagem nomeada “wp-image” no seu repositório (identificado como o “.” no final do comando do terminal). Essa primeira execução será um pouco demorada, uma vez que a imagem do site WordPress será baixada para o seu computador. Nas próximas vezes, o processo será rápido.

    Executando a imagem WordPress

    Para executar a imagem, entre com o seguinte comando no terminal:

    $ docker run --name mysql-cont -e MYSQL_ROOT_PASSWORD=qwerty -d mysql:5.7
    $ docker run --name wp-cont --link mysql-cont:mysql -p 8000:80 -d wp-image
    

    O primeiro comando inicia um contêiner MySQL Docker na versão 5.7 chamado “mysql-cont”. Ele roda em segundo plano (“-d”). Também estamos passando a variável “MYSQL_ROOT_PASSWORD” que definirá a senha raiz para o servidor MySQL.

    O segundo comando inicia um contêiner baseado na imagem que montamos (“wp-image”). O contêiner é nomeado “wp-cont” roda em segundo plano (“-d”) e tem a porta 8000 mapeada do host para a porta 80. Isto significa que se você for para 127.0.0.1:8000 em seu navegador, será redirecionado para o servidor Apache no contêiner.

    Outra opção que utilizamos é “–link”. Isso significa que o contêiner MySQL é visível dentro do contêiner wp-cont por meio de um pseudônimo MySQL.

    Como executar com docker-compose?

    O Docker-compose é um pequeno arquivo, mas essencial, que permitirá gerenciar os módulos do Docker. Em seu trabalho, ele cuidará de três etapas essenciais:

    • montar a imagem;
    • executar o MySQL (com o banco de dados do site);
    • executar a imagem.

    Para começar o processo, adicione o “Docker-compose.yml” ao Dockerfile definido anteriormente. Você usará o seguinte comando:

    version: '3'
    services:
      wp:
        build: .
        ports:
          - "8000:80"
        environment:
          WORDPRESS_DB_PASSWORD: qwerty
      mysql:
        image: "mysql:5.7"
        environment:
          MYSQL_ROOT_PASSWORD: qwerty
    

    No arquivo em questão, dois serviços ligados entre si serão definidos:

    • “wp” – Nele é montada uma imagem Docker baseada no Dockerfile criado antes, e então a porta 8000 no host é conectada para a porta 80 dentro do contêiner. Depois passamos a senha MySQL usando de uma variável de ambiente (a imagem base WP é projetada para lidar com essas variáveis);
    • “mysql” – Nessa é executada a imagem MySQL do Docker Hub na versão 5.7 ,com a senha qwerty passada por meio de uma variável de ambiente (a imagem MySQL foi projetada para lidar com essas variáveis também).

    Como resultado, a imagem base do WordPress cuida automaticamente do serviço MySQL conectado e configura o acesso ao banco de dados WP.

    Agora, é possível executar o Docker Compose e iniciar os dois contêineres com um único comando:

    $ docker-compose up -d
    

    Uma vez que os recipientes tenham sido iniciados, você pode abrir a URL no navegador e começar a usar sua aplicação:

    https://127.0.0.1:8000
    

    Para interromper a aplicação, execute:

    $ docker-compose down
    

    Se você precisar remontar a imagem WordPress execute:

    $ docker-compose up -d --build
    

    O Docker WordPress pode ser um software de grande ajuda para que programadores tenham um recurso mais rápido e seguro para executar testes e ajustes em aplicações. Sem grandes complicações, todo o trabalho é feito localmente, sem riscos de que sites fiquem fora do ar. É realmente uma opção muito mais interessante do que o método tradicional!

    Gostou de entender mais sobre o assunto? Agora, se seu problema é o seu rosto, saiba que a migração em WordPress talvez não seja tão complexa quanto parece. Veja como executar esse processo!

    Compartilhe
    facebook
    linkedin
    twitter
    mail

    Inscreva-se em nosso blog

    Acesse, em primeira mão, nossos principais posts diretamente em seu email

    Posts Relacionados

    Quer receber mais conteúdos brilhantes como esse de graça?

    Inscreva-se para receber nossos conteúdos por email e participe da comunidade da Rock Content!