Docker + PHP em 5 minutos

em Artigos, Desenvolvimento.

Já sabemos que o Docker é uma mão na roda para desenvolvimento, ainda mais hoje em dia. Com ele é possível montar facilmente ambientes estáveis e com configurações idênticas. Se você ainda não utiliza o Docker, esse tutorial foi feito para você.

Obs.: Os comandos abaixo foram feitos usando o Ubuntu 16.04, cada S.O. tem uma forma diferente de instalar o Docker, por isso vou deixar os links da documentação, caso você esteja usando um sistema diferente.

// 1 – Instalando o Docker (https://docs.docker.com/engine/installation/#platform-support-matrix)

Abaixo está o passo a passo da instalação do Docker:

  • Instalando pacotes (apt)
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  • Adicionar chave oficial do Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  • Setando repositório
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  • Atualizando repositórios
sudo apt-get update
  • Instalando Docker
sudo apt-get install docker-ce
  • Verificando instalação
docker -v

// 2 – Instalando o Docker Compose

(https://docs.docker.com/compose/install/)

O Docker Compose é responsável por criar e administrar um conjunto de containers. Abaixo os passos para a instalação do Docker Compose.

  • Baixando o docker-compose
sudo curl -o /usr/local/bin/docker-compose -L "https://github.com/docker/compose/releases/download/1.11.2/docker-compose-$(uname -s)-$(uname -m)"
  • Setando as permissões
sudo chmod +x /usr/local/bin/docker-compose
  • Verificado instalação
docker-compose -v

// 3 – Criando Dockerfile

Depois de fazer os passos anteriores, o Docker já está instalado e pronto para usar.

Agora, neste tutorial, vou falar sobre como usar uma imagem PHP, mas saiba que existem imagens para tudo o que você possa imaginar, basta acessar o Docker Hub e procurar.

Em nosso tutorial vamos usar a imagem tutum/lamp.

Para usá-la basta criar um arquivo na raiz do seu projeto com o nome de Dockerfile, o Dockerfile de seu projeto deve ficar como o exemplo abaixo:

FROM tutum/lamp
MAINTAINER PAAS EMAIL <seuemail@provedor.com>

Seu Dockerfile pode mudar, caso queira fazer algo diferente em sua imagem. Nesse exemplo estamos deixando o mais simples possível.

// 4 – Criando docker-compose.yml

Para utilizar o Docker Compose que instalamos, temos que criar mais um arquivo na raiz do projeto o docker-compose.yml e ele deve ficar como o exemplo abaixo:

dev:

  dockerfile: Dockerfile
  volumes:
    - .:/var/www/html
    - /etc/timezone:/etc/timezone
    - /etc/localtime:/etc/localtime

  build: .
  expose:
    - "80"

  ports:
    - "80:80"

Caso tenha necessidade, assim como o Dockerfile você pode variar o docker-compose.yml, adicionando um container de Redis ao projeto, por exemplo.

// 5 – Subindo aplicação

  • Rodar a aplicação
docker-compose up

Feito isso, agora você já pode acessar seu localhost normalmente e acessar o app feito em PHP rodando no Docker. Caso você tenha o Apache ou o Nginx instalado e rodando, ou qualquer outro programa que utilize a porta 80 de sua máquina, você terá que dar um stop nele antes de subir o Docker. Caso contrário, dará um erro no Docker e não irá subir enquanto a porta 80 estiver ocupada.
Gostou da dica? Deixe um comentário.