Dieser Beitrag zeigt, wie man PrestaShop 1.7 unter Docker betreibt. Ideal als lokales Entwickler-System:

PrestaShop dockerized

PrestaShop benötigt MySQL bzw. MariaDB als Datenbank, was 2 Container im Verbund erfordert:

  1. PrestaShop samt Apache und PHP
  2. MariaDB

Dazu legen wir zuerst die folgende Verzeichnisstruktur an:

Docker benötigt diese Ordner um Änderungen in PrestaShop und der Datenbank persistent zu speichern.

Im gleichen Ordner wie unser “docker”-Verzeichnis erstellen wir eine Datei namens docker-compose.yml mit folgendem Inhalt:

# prestashop-17 1.0.1
#
# Runs PrestaShop 1.7.x with MariaDB
#
# Full docs see
# https://hub.docker.com/r/bitnami/prestashop/
#
# Connect with http://127.0.0.1
#
# Backend:
# http://127.0.0.1/administration
# Usr: user@example.com
# Pwd: bitnami1
#
# Database:
# Host: 127.0.0.1
# Usr: root
# Pwd: NONE
#
# (C)2021 Harald Schneider
#
version: '2'

services:

  mariadb-presta:
    image: docker.io/bitnami/mariadb:10.3
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
      - MARIADB_USER=bn_prestashop
      - MARIADB_PASSWORD=bitnami1
      - MARIADB_DATABASE=bitnami_prestashop
    ports:
      - '3306:3306'
    volumes:
      - './docker/mariadb_data:/bitnami/mariadb'

  prestashop:
    image: docker.io/bitnami/prestashop:1.7
    ports:
      - '80:8080'
      - '443:8443'
    environment:
      - PRESTASHOP_HOST=localhost
      - PRESTASHOP_DATABASE_HOST=mariadb-presta
      - PRESTASHOP_DATABASE_PORT_NUMBER=3306
      - PRESTASHOP_DATABASE_USER=bn_prestashop
      - PRESTASHOP_DATABASE_PASSWORD=bitnami1
      - PRESTASHOP_DATABASE_NAME=bitnami_prestashop
      - ALLOW_EMPTY_PASSWORD=yes
    volumes:
      - './docker/prestashop_data:/bitnami/prestashop'
    depends_on:
      - mariadb-presta

volumes:
  mariadb_data:
    driver: local
  prestashop_data:
    driver: local

Danach starten wir den Container-Verbund mit

docker compose up -d

und melden uns über die URL http://127.0.0.1/administration mit Usernamen “user@example.com” und Passwort “bitnami1” am PrestaShop Backend an. Zum Frontend geht es mit http://127.0.0.1.

Beenden können wir das Ganze jederzeit mit

docker compose down

Viel Spaß mit Docker und PrestaShop :-)