Docker com ambiente PHP-MongoDB

Para criarmos um ambiente PHP-MongoDB usando Docker, precisamos criar uma imagem do PHP com o módulo MongoDB instalado. Vamos utilizar os arquivos Dockerfile e o docker-compose.yml para garantir uma configuração adequada.

Configurando o arquivo Dockerfile:

## Utiliza uma imagem base com PHP 5.6 e Apache
FROM php:5.6-apache

## Instala apache modules
RUN a2enmod headers \
 && a2enmod rewrite 

## Instala o mongo php driver
RUN apt-get update && apt-get install -y libssl-dev
RUN pecl install mongo
view raw Dockerfile hosted with ❤ by GitHub

O arquivo Dockerfile é necessário para criarmos a imagem que precisamos. Escolhi a versão 5.6 do php porque até o momento em que escrevo este artigo ainda é a versão mais usada e estável. Para gerar a imagem executamos o seguinte comando no terminal:

docker build -t php5.6 .

O arquivo a seguir é um docker-compose.yml. Ele nos ajuda a configurar nosso ambiente sem se preocupar com cada atributo da linha de comando que põe o ambiente para funcionar (que é o modo original para executar o ambiente).

Configurando o arquivo docker-compose.yml:

httpd:
  image: php5.6
  ports:
    - 80:80
  volumes:
    - ./home:/home
    - ./html:/var/www/html/app
    - ./config/apache2:/etc/apache2
    - ./config/php:/usr/local/etc/php
    - ./log:/var/log/apache2
  links:
    - mongo:mongo
   
mongo:
  image: mongo
  ports:
    - 27017:27017

Iniciando o ambiente PHP-MongoDB

Agora, basta por tudo para funcionar executando no terminal o seguinte:

docker-compose up

Dessa forma, você terá um ambiente PHP-MongoDB funcional e bem configurado para desenvolver seus projetos. Lembre-se de verificar as atualizações das versões do PHP, MongoDB e das extensões usadas, pois a estabilidade e as práticas recomendadas podem mudar com o tempo.


Tags:

  • container
  • php
  • mongodb
  • ambiente
  • imagem
  • dockerfile

Compartilhar:

    O que achou do artigo?

    Escreva um comentário, deixe-me saber o que achou do artigo. Se tens uma dúvida basta perguntar:

    Resposta ao comentário:
    Loading...