Formação AWS

← Todos os artigos

WordPress na AWS com Docker: do zero ao ar em uma EC2

ContainersPor Henrylle Maia · 15 out 2026 · 6 min de leitura

Dá para ter um WordPress rodando na AWS em poucos minutos: uma instância EC2 com Docker e o modelo de Docker Compose que o próprio WordPress publica no Docker Hub. Abaixo eu lanço a instância, instalo o Docker e o Docker Compose, ajusto a porta do modelo e abro o site pelo IP público.

O cenário: uma instância só

O objetivo é um só: lançar uma EC2 Linux rodando WordPress. É uma instância apenas. Alta disponibilidade e volume elástico ficam de fora, são assuntos complementares e pertinentes, mas outro passo.

O Docker e o Docker Compose entram para ajudar no processo. O Compose pega o modelo que o WordPress já publica e faz boa parte do trabalho: sobe o site e o banco a partir de um arquivo. Se você ainda não conhece Docker, comece por o que é Docker; para o assunto dos volumes, veja volume no Docker.

1Lançar a EC2

No console, em Launch Instance, escolha:

  • AMI: Amazon Linux (no terminal da aula aparece como Amazon Linux 2).
  • Tipo: t2.micro ou t3.micro. Eu usei a t3.micro, que atende bem.
  • IP público: Auto Assign Public IP habilitado, para a instância ser acessível pela internet.
  • Disco: 8 GB, que resolve para um laboratório.
  • Nome: aula WordPress.

2O security group

Crie um security group (eu chamei de aula WordPress, com a mesma descrição) com duas regras de entrada:

  • SSH: só para o seu IP.
  • HTTP (porta 80): para o mundo inteiro, porque o site precisa ser acessado de qualquer lugar.

Em seguida escolha o par de chaves. Eu usei uma que já tinha. No Linux, dê a ela a permissão chmod 400. No Windows, dê só permissão de execução. Lance a instância e espere o estado running.

3Conectar e instalar o Docker

Copie o comando de conexão que o console mostra em Connect, rode no terminal na pasta da chave e responda yes à pergunta sobre o host.

Instale o Docker (na aula ele veio do repositório amzn2extra-docker, versão 20.10.7) e confirme com y. Depois suba o serviço, habilite no boot, dê ao usuário permissão no grupo docker, para não trabalhar como root, e reinicie:

bash
sudo amazon-linux-extras install docker
sudo service docker start
sudo systemctl enable docker.service
sudo usermod -a -G docker ec2-user
sudo chkconfig docker on
sudo reboot

O Docker já funcionaria sem o reboot. Eu reinicio para deixar tudo apto a subir sozinho quando a máquina reiniciar. O reboot leva uns 30 segundos; conecte de novo depois.

4Instalar o Docker Compose

Baixe o binário, mova para uma pasta que esteja no PATH, dê permissão de execução e confira as versões:

bash
sudo wget -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)"
sudo mv docker-compose-$(uname -s)-$(uname -m) /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -v
docker -v

Na aula, o primeiro mostrou a versão 1.29.2 e o segundo, a 20.10.7. Com os dois respondendo, o ambiente está pronto.

5Pegar o modelo do WordPress no Docker Hub

Busque "WordPress Docker Hub" e abra a página da imagem oficial, que já passou de um bilhão de downloads. Ali tem um modelo de Docker Compose pronto, com a imagem do WordPress, o restart: always, a porta, as variáveis do banco, o volume e a imagem do MySQL.

O docker-compose.yml aberto no nano, com o serviço wordpress e a porta já em 80:80
O docker-compose.yml aberto no nano, com o serviço wordpress e a porta já em 80:80

Copie o modelo, crie uma pasta, entre nela e crie o arquivo colando o conteúdo:

bash
mkdir wordpress
cd wordpress
nano docker-compose.yml

No modelo a porta vem como 8080:80. Troque para 80:80: porta 80 no container e porta 80 no host, a mesma que o security group libera. Salve.

6Subir e abrir o site

Rode, dentro da pasta do arquivo:

bash
docker-compose up -d

O comando segue o arquivo de exemplo: baixa as imagens do WordPress e do MySQL, extrai e executa os dois containers. Quando as duas linhas Creating ... done aparecem, está no ar.

O terminal ao fim do docker-compose up: as imagens do WordPress e do mysql:5.7 baixadas e os containers wordpress_wordpress_1 e wordpress_db_1 criados
O terminal ao fim do docker-compose up: as imagens do WordPress e do mysql:5.7 baixadas e os containers wordpress_wordpress_1 e wordpress_db_1 criados

Pegue o IP público da instância no console, cole no navegador com http:// e a instalação do WordPress abre. Preencha o título do site e o nome do usuário e instale. Ele reclama se faltar o e-mail, então preencha esse campo também. Entre, e o painel aparece.

O painel do WordPress aberto no IP da instância, com a mensagem Bem-vindo(a) ao WordPress e a versão 5.9.2
O painel do WordPress aberto no IP da instância, com a mensagem Bem-vindo(a) ao WordPress e a versão 5.9.2
O caminho do laboratório: da instância EC2 ao WordPress respondendo no IP públicoEC2Amazon Linux, porta 80 abertaDockerinstalado e habilitado no bootdocker-compose.ymlmodelo do Docker HubWordPress e MySQLdois containers no ar
O caminho do laboratório: da instância EC2 ao WordPress respondendo no IP público

Da introdução até o painel, foram uns 9 minutos de aula: EC2 rodando, Docker, Docker Compose e WordPress na AWS. Daqui você segue para criar as páginas do seu site.

O que este laboratório não é

Isto é um modelo de demonstração, com uma instância. O WordPress pode rodar em alta disponibilidade, com um Application Load Balancer na frente de várias instâncias e escalando. Para isso você precisa operar bem Docker e Docker Compose e usar um serviço de orquestração. Na AWS, você pode usar o ECS.

Os próximos passos estão nestes posts: o que mudar na aplicação em container para ser altamente disponível e Docker Compose na prática. Se você pensa em hospedar WordPress e quer saber quanto isso custa, veja o custo de WordPress na AWS.

Checklist

  • Lancei uma EC2 Amazon Linux t2.micro ou t3.micro, com IP público e disco de 8 GB.
  • Liberei SSH só para o meu IP e HTTP (porta 80) para o mundo.
  • Instalei o Docker, habilitei no boot, dei permissão ao ec2-user e reiniciei.
  • Instalei o Docker Compose e conferi as versões com -v.
  • Peguei o modelo do WordPress no Docker Hub e troquei a porta para 80:80.
  • Subi com docker-compose up -d e abri o site pelo IP público.

Se você quer levar um site como esse para a AWS com custo, segurança e disponibilidade pensados desde o começo, converse com o time sobre o seu cenário.

O que os alunos dizem

  • “A Formação AWS me deu a prática, a segurança e a clareza que eu nunca encontrei em nenhum outro curso.”

    Jhon Wilame, SRE / DevOps Engineer

    Ver depoimento
  • “O melhor curso que eu fiz até hoje é o seu.”

    Jorge Bastos, Desenvolvedor Java Sênior (AWS + IA)

    Ver depoimento
  • “A prática e a clareza da metodologia me deram direção para entender a AWS de verdade e agir com segurança no dia a dia.”

    Luiz Campedelli, Estagiário em Cloud

    Ver depoimento

Formação AWS

Aprenda AWS e IA na prática, com projeto real e acompanhamento. Converse com o time sobre a Formação AWS.

Agende uma conversa

Prefere assistir?

A aula completa (11 min) está no canal Domine AWS. O vídeo toca aqui mesmo.

Leia também

Compartilhe este post