El eccomerce perfecto en producción con Docker

A lo largo de la era digital han cambiado el modo de desarrollar y distribuir gran cantidad de productos, entre ellos productos fisicos.

Así nacieron diferentes gestores de contenido en forma de eccommerce, estos software se pueden gestionar de muchas formas, aqui vamos a explicar de forma rápida y concisa como hacerlo con docker y tratando un proyecto que se puede correr en producción.

La idea es pensar que con docker se puede correr cualquier tipo de software incluyendo eccommerce.

Para esto tenemos que tener una maquina virtual o instancia corriendo por ejemplo algo como esto:

Una vez dentro de dicha instancia debemos tener docker y docker-compose corriendo.

version: '2'

services: 
  prestashop:
    build: ./docker/prestashop
    ports:
      - 80:80
    links:
      - mariadb:mariadb
    depends_on:
      - mariadb
    volumes:
      - ./docker/common:/scripts
      - ./src:/var/www/html
      - ./src/modules:/var/www/html/modules
      - ./src/themes:/var/www/html/themes
      - ./src/override:/var/www/html/override
    environment:
      - PS_DEV_MODE=1
      - DB_SERVER=mariadb
      - DB_USER=root
      - DB_PASSWD=root
      - DB_NAME=prestashop
      - PS_INSTALL_AUTO=0

  mariadb:
    build: ./docker/mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=prestashop

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    links:
      - mariadb
    ports: 
      - 81:80 
    environment:
      - PMA_HOST=mariadb
      - PMA_USER=root
      - PMA_PASSWORD=root

Debemos de correr con docker-compose up -d estos contenedores (no es necesario correr el de phpmyadmin)

Dicho contenedor es para administrar de forma gráfica todo lo relacionado con la base de datos de mysql que estamos corriendo.

Como vemos hemos expuesto el puerto 80 , esto quiere decir que ya podremos acceder por http y tener el eccommerce funcionando facilmente.

En caso de querer tener dicho sitio web corriendo con SSL es necesario instalar letsencrypt y nginx para poder generar certificados cada 3 meses de forma gratuita.

Docker & Networking

Master en crear tus propias aplicaciones desde cero y entender el funcionamiento de docker

docker cristiancasis.com
Comprar Acceso de por vida

Kubernetes in AWS

Aprende todo lo necesario para enterder el funcionamiento y saber como desplegar aplicaciones

amazoneks cristiancasis.com
Comprar Acceso de por vida

Para instalar el certificado SSL con un reverse proxy sigue este post