🐳Docker

Dockerizar una aplicación

Puedes dockerizar tu aplicación utilizando unas simples instrucciones en un Dockerfile y un docker-compose.yml

El siguiente Dockerfile es un ejemplo utilizando postgres

FROM php:7.2-apache
COPY . /var/www/html/cloudcsv_api

RUN apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y git \
    -y libpq-dev \
    zip \
    unzip

# PDO driver
RUN docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql
RUN docker-php-ext-install pdo pdo_pgsql

#Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

RUN a2enmod rewrite

WORKDIR /var/www/html/cloudcsv_api
RUN composer install

A continuación ya solo nos falta crear nuestro docker-compose.yml

version: '3'
services:
  web:
    image: php:7.2-apache
    build: .
    depends_on:
      - db
    ports:
      - 8081:80
      
  db:
    image: postgres:9.6
    restart: always
    environment:
      POSTGRES_USER: ${USER}
      POSTGRES_PASSWORD: ${PASSWORD}
      POSTGRES_DB: ${DB_NAME}
    volumes:
      - ./etc/init_db.sql:/docker-entrypoint-initdb.d/init_db.sql
    ports:
      - 5432:5432

  adminer:
    image: adminer
    restart: always
    ports:
      - 9090:8080

volumes:
  db:

En el ejemplo anterior tenemos un docker-compo.yml que contiene una base de datos en Postgres con Adminer incluido para administrar la base de datos.

Last updated