Category: Docker

Criando um blog WordPress com Docker

Criando um blog WordPress com Docker

Olá, seja bem vindo novamente!

Em nosso primeiro post nós mostramos como podemos fazer uma receita Ansible responsável por provisionar um servidor rodando um blog WordPress. No post de hoje, mostraremos a mesma tarefa sendo feita, dessa vez usando a tecnologia de contêineres Docker. Esperamos que você goste!

First things first

Primeiramente uma breve introdução do que é o Docker, segundo a AWS:

É uma plataforma de software que permite a criação, o teste e a implantação de aplicações rapidamente. O Docker cria pacotes de software em unidades padronizadas chamadas de contêineres que têm tudo o que o software precisa para ser executado, inclusive bibliotecas, ferramentas de sistema, código e runtime.

Então, o Docker é tido como uma nova forma de virtualização, onde o contêiner compartilha o mesmo kernel do host. O Docker roda como um processo dentro do host e isso permite que o provisionamento do contêiner seja feita de forma quase imediata. Essa tecnologia é uma grande aliada para infra-estrutura em micro-serviços.

Requisitos para o lab

Faremos esse lab na infra-estrutura em nuvem da Amazon, AWS. Vamos precisar do seguinte item:

  • Instância EC2 (pode ser t2.micro) rodando CentOS 6;

Já dentro da instância EC2, vamos instalar o Docker usando o comando:

Com o Docker instalado, inicie o serviço através do comando:

Agora já temos o serviço do Docker rodando em nossa VM!

Criando nosso contêiner

Temos algumas formas de criar contêineres. Nesse artigo disponibilizaremos uma imagem base criada por nós para ajudar nessa tarefa, onde apenas pequenas alterações serão necessárias para fazer o wordpress funcionar!

Os comandos Docker requerem permissões root. Para evitar ter que usar o root ou então usar o comando sudo em cada interação, vamos criar o usuário docker e adicioná-lo ao grupo docker, grupo o qual é criado automaticamente na instalação do Docker.

Feito isso podemos começar a brincadeira. Primeiramente, baixe nossa imagem com o comando docker pull e execute um contêiner a partir dela com os comandos abaixo:

O comando docker run é responsável por criar e executar um contêiner. Usamos os parâmetros -it para permitir um shell interativo, onde podemos rodar comandos dentro do contêiner. WordPress é o nome da imagem que acabamos de baixar, o -p 80:80 faz um redirecionamento da porta 80 do host para a porta 80 do contêiner, permitindo assim que tenhamos uma aplicação web dentro do contêiner e exposta para o mundo externo, e por último, /bin/bash nos permite executar comandos bash dentro do contêiner, do mesmo modo de uma máquina virtual.

Dentro desse contêiner temos 3 serviços fundamentais rodando: nginx (servidor de proxy), MySQL (banco de dados), php-fpm (interpretador de arquivos PHP).

Agora já dentro do contêiner, vamos acessar o banco de dados local e criar o database que o wordpress usará para armazenar seus dados:

Feito isso, vamos alterar as configurações essenciais para o wordpress acessar o banco de dados. Primeiramente, precisamos gerar chaves de segurança para a instalação do wordpress. Rode o comando abaixo:

Você terá retorno com algumas chaves que deverão ser incluídas na configuração do wordpress. Abra o arquivo abaixo e preencha os dados nos campos correspondentes:

Nesse mesmo arquivo, altere as linhas abaixo. Você pode alterar de acordo com os dados utilizados na criação do database.

Feito isso, você poderá acessar o IP do seu servidor através do browser e continuar a instalação com a interface Web! Lembre-se de deixar a porta 80 aberta para que você possa acessá-la!

Para sair do contêiner e manter ele rodando, aperta as teclas CTRL+P e depois CTRL+Q.

Esse foi um post introdutório sobre Docker. Em posts futuros daremos mais detalhes de sua arquitetura e explicaremos outros comandos utilizados. Ficou alguma dúvida? Não deixe de comentar! Até a próxima!