Dockerizando seu ambiente de desenvolvimento PHP (Debian e derivados)
Marcos Teodoro • 26 de setembro de 2019
devops docker phpSeguiremos agora com um passo a passo para montar seu ambiente de desenvolvimento PHP utilizando Docker e Docker Compose.
Primeiramente, vamos realizar a instalação do Docker.
Instalando o Docker
O primeiro passo é realizar a remoção de instalações anteriores. Para isso digite o seguinte comando em seu terminal:
sudo apt-get remove docker docker-engine docker.io containerd runc
Agora iremos atualizar os dados de seu repositório apt com o seguinte comando:
sudo apt-get update
Instale os pacotes necessários para o processo:
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
Adicione a chave GPG oficial do repositório do Docker:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
Inclua o repositório do Docker em sua source list com o comando a seguir:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Com o procedimento anterior realizado já podemos partir efetivamente para a instalação do Docker.
Vamos primeiro rodar uma atualização para sincronizar o novo repositório adicionado:
sudo apt-get update
E agora sim instalaremos os pacotes para rodar a ferramenta:
sudo apt-get install docker-ce docker-ce-cli containerd.io
Com tudo isso realizado temos uma instalação de Docker realizada.
Para validar se tudo está funcionando de acordo, podemos rodar o seguinte comando:
sudo docker run hello-world
Caso tudo tenha sido instalado com sucesso, o comando a seguir deve realizar o download de uma imagem Docker e deve colocar a mesma para rodar. Caso ocorra algum erro reinicie os passos.
Com a instalação realizada, podemos adicionar nosso usuário ao grupo do docker da máquina, possibilitando assim que rodemos os comandos sem a necessidade de utilizar o sudo. Para isso rode o seguinte comando em seu terminal:
sudo usermod -aG docker $USER
Ao reiniciar sua máquina será possível rodar os comandos do Docker sem utilizar o sudo:
docker run hello-world
Instalando o Docker Compose
À partir deste ponto já temos o Docker instalado e já validamos que o mesmo está funcionando corretamente. Agora podemos seguir adicionando o docker-compose à nossa máquina, pois o mesmo irá facilitar nossa vida com os ambientes que devemos subir para iniciar a programação.
Inicialmente iremos realizar o download do script para rodar a ferramenta:
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Após baixado o script, necessitamos dar as permissões necessárias para execução, e o comando a seguir as concede (caso altere o caminho de instalação do passo acima, o mesmo deve seguir o mesmo caminho no comando a seguir):
sudo chmod +x /usr/local/bin/docker-compose
Para que consigamos acessar os comandos do docker-compose globalmente, podemos adicionar o link a seguir:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
O mesmo nos possibilita executar os comandos do docker-compose de qualquer lugar de nossa máquina.
Apoś isso, podemos rodar o comando a seguir e ver se o retorno condiz com a versão atual do docker-compose:
docker-compose --version
E agora, finalmente partiremos para nosso ambiente de programação PHP
Iremos utilizar um ambiente pré-figurado que pode ser encontrado neste repositório.
O mesmo conta com o PHP versão 7.2, Apache 2 e o banco de dados MariaDB 10.3.
Realize o clone do repositório em sua máquina com o seguinte comando:
git clone https://github.com/marcosteodoro/docker-apache-php72-mariadb103.git
Entre no repositório com o comando:
cd docker-apache-php72-mariadb103
E após isso podemos dar um:
docker-compose up
O comando irá realizar o download das imagens necessárias para o funcionamento do ambiente e já irá subir o mesmo. Com tudo rodando de acordo teremos um retorno de phpinfo() em nosso localhost.
E por hoje é isso! Caso ocorra algum problema com a instalação ou em caso de qualquer dúvida só entrar em contato nos comentários abaixo.