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-apacheRUN 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/phpmyadminosc_docker_webmysql
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 !!
