Ich wurde von einem Freund gefragt, ob ich nicht ein Shopsystem in einem Container kenne. Da bin ich auf die Suche gegangen und habe eine Anleitung gefunden, wie das geht.
Leider ist diese Anleitung nicht zu 100% genau. Musste mich ein bischen "durchbeissen", aber ein guter Weg !!
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/osc_docker
Die notwendigen Files sind in dem Verzeichnis osc_docker zu finden.
Lade die letzte Version von OSCommerse herunter und plaziere das File mit dem Namen osc_install.zip und in das Verzeichnis.
!! Nun braucht es einige Anpassungen, die nicht auf der Homepage stehen !!
Folgendes soll in dem Dockerfile stehen:
Ich wurde von einem Freund gefragt, ob ich nicht ein Shopsystem in einem Container kenne. Da bin ich auf die Suche gegangen und habe eine Anleitung gefunden, wie das geht.
Leider ist diese Anleitung nicht zu 100% genau. Musste mich ein bischen "durchbeissen", aber ein guter Weg !!
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/osc_docker
Die notwendigen Files sind in dem Verzeichnis osc_docker zu finden.
Lade die letzte Version von OSCommerse herunter und plaziere das File mit dem Namen osc_install.zip und in das Verzeichnis.
!! Nun braucht es einige Anpassungen, die nicht auf der Homepage stehen !!
Folgendes soll in dem Dockerfile stehen:
FROM php:7.4-apacheRUN apt-get update && apt-get install -y \ libpng-dev \ libxml2-dev \ libxslt1-dev \ libzip-dev \ libonig-dev \ libcurl4-gnutls-dev \ libicu-dev \ && docker-php-ext-install -j$(nproc) gd intl mbstring mysqli soap xml xmlrpc xsl zip pdo fileinfo pdo_mysql \ && a2enmod rewrite headers \ && service apache2 restartCOPY ./osc_install.zip /var/www/html/RUN apt-get install -y unzip \ && unzip /var/www/html/osc_install.zip -d /var/www/html/ \ && rm /var/www/html/osc_install.zip \ && chown -R www-data:www-data /var/www/html/
Bei mir musste ich nichts ändern.
In meiner Docker Installation waren die Ports 80 und 8080 schon belegt. Darum habe ich die Ports auf 81 und 8081 in dem File docker-compose.yaml geändert.
version: '3.8' services: web: build: . ports: - "81: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: oscommerce MYSQL_USER: user MYSQL_PASSWORD: password ports: - "3306:3306"
phpmyadmin: image: phpmyadmin/phpmyadmin restart: always ports: - '8081:80' environment: PMA_HOST: db PMA_PORT: 3306 MYSQL_ROOT_PASSWORD: rootpassword depends_on: - db
volumes: db_data:
Ausserdem gehört in dem File .dockerignore der Kommentar osc_install.zip mit einem # zu # osc_install.zip auskommentiert, sonst kommt es zu einer Fehlermeldung.
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 NAMES26298b341538
phpmyadmin/phpmyadmin "/docker-entrypoint.…" 35 minutes ago Up 35
minutes 0.0.0.0:8081->80/tcp, :::8081->80/tcp
osc_docker_phpmyadmin_1e90b0cc292bf
osc_docker_web "docker-php-entrypoi…" 35 minutes ago Up 35 minutes
0.0.0.0:81->80/tcp, :::81->80/tcp osc_docker_web_1beccba7ac495
mysql "docker-entrypoint.s…" 35 minutes ago Up 35 minutes
0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp
osc_docker_db_1
Mit dem Aufruf http://<ip>:81/ kann jetzt das Setup von OSCommerce gestartet werden.
