English
DH3MFW
headerimage

Ich fand auch diese Anleitung im Web !!

Zuerst braucht es eine laufende Docker Installation incl docker-compose. Um das Ganze zu konfigurieren, per Putty sich auf die Linux Maschine verbinden und sich in das Wurzelverzeichnis der Docker Container begeben.

Eine Kopie der Files aus dem Github Verzeichnis von dem User Meir Michanie ziehen.

> git clone https://github.com/meirm/opencart_docker

Die notwendigen Files sind in dem Verzeichnis opencart_docker zu finden.

Lade die letzte Version von Opencart herunter und plaziere das File mit dem Namen opencart.zip und in das Verzeichnis.

Ausserdem aufpassen die Datei braucht die Rechte root:root 775.

Folgendes soll in dem Dockerfile stehen:

FROM php:8.2-apache
RUN apt-get update && apt-get install -y \
    libfreetype-dev \
    libjpeg62-turbo-dev \
    libpng-dev \
    libxml2-dev \
    libxslt1-dev \
    libzip-dev \
    libonig-dev \
    libcurl4-gnutls-dev \
    libicu-dev \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install -j$(nproc) gd intl mbstring mysqli soap xml xsl zip pdo fileinfo pdo_mysql \
    && a2enmod rewrite headers \
    && service apache2 restart

COPY ./opencart.zip /var/www/html/
RUN apt-get install -y unzip \
    && unzip /var/www/html/opencart.zip '*/upload/*' -d /var/www/html/ \
    && mv /var/www/html/opencart-*/upload/* /var/www/html/ \
    && rm -rf /var/www/html/opencart* \
    && cp /var/www/html/config-dist.php /var/www/html/config.php \
    && cp /var/www/html/admin/config-dist.php /var/www/html/admin/config.php \
    && chown -R www-data:www-data /var/www/

Es passt soweit !

In meiner Docker Installation waren die Ports 80,81 und 8080,8081 schon belegt. Darum habe ich die Ports auf 82 und 8082 in dem File docker-compose.yaml geändert.

version: '3.8'
services:
  web:
    build: .
    ports:
      - "82:80"
    depends_on:
      - db
    # volumes:
    # - ./htdocs:/var/www/html
    environment:
      - APACHE_DOCUMENT_ROOT=/var/www/html

  db:
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: opencart
      MYSQL_USER: user
      MYSQL_PASSWORD: password
    ports:
    - "3307:3307"

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    restart: always
    ports:
    - '8081:80'
    environment:
      PMA_HOST: db
      PMA_PORT: 3307
      MYSQL_ROOT_PASSWORD: rootpassword
    depends_on:
      - db

volumes:
  db_data:

NUN kann der Container erzeugt werden mit dem Kommando:

> docker-compose up -d --build

Nicht wundern es wird nun Magic. Da tun sich jede Menge Dinge. Zuerst werden die Images der Container:

  • phpmyadmin/phpmyadmin
  • osc_docker_web
  • mysql

heruntergeladen, dann das Makefile ausgeführt und am Ende die 3 Container angestartet.

mit dem Kommando docker ps könnt ihr sehen, ob die Container sauber angestartet sind und auf welche Ports diese hören.

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0b94c2633c08 opencart_docker_web "docker-php-entrypoi…" About a minute ago Up 59 seconds 0.0.0.0:82->80/tcp, :::82->80/tcp opencart_docker_web_1
780c4bc1a991 phpmyadmin/phpmyadmin "/docker-entrypoint.…" About a minute ago Up 59 seconds 0.0.0.0:8082->80/tcp, :::8082->80/tcp opencart_docker_phpmyadmi n_1
2ff72b393bae mysql "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp, 33060/tcp, 0.0.0.0:3307->3307/tcp, :::3307->3307/tcp opencart_docker_dbo_1

Jetzt Einloggen

Das Installationsverzeichnis löschen !!

nach oben