Laden Sie den Docker-Image-Tarball von Ihrem persönlichen Konto herunter und importieren Sie ihn wie unten beschrieben.
Wenn Sie VIMP das erste Mal per Docker-Image installieren möchten, kontaktieren Sie uns bitte, damit wir Ihnen das Image in Ihrem Account bereitstellen.
BITTE BEACHTEN: Die nachfolgende Installationsanleitung ist nicht für den produktiven Betrieb gedacht! Bitte konsultieren Sie Ihren Systemadministrator, um VIMP in einer produktiven Docker-Umgebung aufzusetzen!
Bitte ersetzen Sie 5.x.x-rxxxxx im Folgenden durch die aktuelle Versionsnummer und Revision.
gunzip vimp-campus-docker-5.x.x-rxxxxx.tar.gz docker load -i vimp-campus-docker-5.x.x-rxxxxx.tar
Als erstes ermitteln wir nun das Repository und den korrekten Tag für unser VIMP Image:
docker images | grep vimp
Sie erhalten durch obigen Befehl eine Liste der vorhandenen Docker Images. Relevant ist dabei für uns nun nur das letzte VIMP-Image, das beispielsweise wie folgt in der Liste erscheint:
REPOSITORY TAG IMAGE ID CREATED SIZE registry.vimp.dev/vimp/campus 5.8.2-47311 c4bbccb932e3 18 hours ago 1.93GB
Der Registry-Pfad und der Tag müssen in den folgenden Befehlen und im docker-compose.yml-File entsprechend ersetzt werden, notieren Sie sich beide daher (in unserem Beispiel wäre es zusammengesetzt registry.vimp.dev/vimp/campus:5.8.2-47311).
Wir fahren nun mit dem Erstellen des Verzeichnisses, aus dem die Volumes gemountet werden, fort (bitte ersetzen Sie test-vimp durch den tatsächlichen Verzeichnisnamen, den Sie verwenden möchten):
mkdir -p test-vimp cd test-vimp
Sowie mit dem Verzeichnis für die MySQL-Daten:
mkdir -p vimp_db
Nun kopieren wir die Inhalte der Verzeichnisse config, templates und userdata (ersetzen Sie hier den Registry-Pfad und den Tag entsprechend).
docker run -d --name tmp_vimp_campus registry.vimp.dev/vimp/campus:5.8.2-47311 \ && docker cp tmp_vimp_campus:/var/www/html/config . \ && docker cp tmp_vimp_campus:/var/www/html/templates . \ && docker cp tmp_vimp_campus:/var/www/html/userdata . \ && docker stop tmp_vimp_campus \ && docker rm tmp_vimp_campus
Schauen wir mal, ob alle Verzeichnisse vorhanden sind:
ls
Stellen Sie sicher, dass Sie eine ordnungsgemäße docker-compose.yml-Datei im aktuellen Verzeichnis neben den Ordnern config, templates und userdata haben (ein Beispiel für die docker-compose.yml finden Sie am Ende dieses Artikels).
Dann führen Sie folgendes aus:
docker-compose up -d
Sie können mit docker-compose logs -f überprüfen, ob die Datenbank bereit ist, Verbindungen zu akzeptieren. Installieren Sie dann die VIMP-Anwendung und erstellen Sie alle erforderlichen Tabellen wie folgt:
docker-compose exec httpd ./vimp framework:install -C --yes \ && docker-compose exec httpd ./vimp framework:update --nothing --modules=yes \ && docker-compose exec httpd ./vimp framework:update --nothing --database=yes \ && docker-compose exec httpd ./vimp framework:update --nothing --rebuild=yes
WICHTIGE HINWEISE:
Wenn Sie dazu aufgefordert werden, stellen Sie bitte sicher, dass die Datenbank-Anmeldeinformationen mit den Datenbank-Anmeldeinformationen der docker-compose.yml-Datei übereinstimmen.
Beachten Sie dabei bitte, als Datenbank-Host den Namen des Services, in diesem Fall also "db", einzutragen.
Das war's - Sie können nun über Ihren angegebenen Apache-Servernamen auf VIMP zugreifen, in unserem Beispiel http://localhost.
Hier beschreiben wir, wie Sie VIMP Corporate Campus mit docker-compose aktualisieren, wenn eine neue Version des Images vorliegt.
Bitte ersetzen Sie 5.x.x-rxxxxx im Folgenden durch die aktuelle Versionsnummer und Revision.
gunzip vimp-campus-docker-5.x.x-rxxxxx.tar.gz docker load -i vimp-campus-docker-5.x.x-rxxxxx.tar
Als Erstes ermitteln wir wieder das Repository und den korrekten Tag für unser VIMP Image:
docker images | grep vimp
Sie erhalten durch obigen Befehl eine Liste der vorhandenen Docker Images. Relevant ist dabei für uns nun nur das letzte VIMP-Image, das beispielsweise wie folgt in der Liste erscheint:
REPOSITORY TAG IMAGE ID CREATED SIZE registry.vimp.dev/vimp/campus 5.8.2-47311 c4bbccb932e3 18 hours ago 1.93GB
Der Registry-Pfad und der Tag müssen in den folgenden Befehlen und im docker-compose.yml-File entsprechend ersetzt werden, notieren Sie sich beide daher (in unserem Beispiel wäre es zusammengesetzt registry.vimp.dev/vimp/campus:5.8.2-47311).
Bitte ersetzen Sie im Folgenden das Verzeichnis test-vimp wieder durch den tatsächlichen Verzeichnisnamen, den Sie verwenden möchten und ersetzen Sie den Registry-Pfad wie oben beschrieben:
cd test-vimp \ && mkdir -p tmp \ && docker run -d --name tmp_vimp_campus registry.vimp.dev/vimp/campus:5.8.2-47311 \ && docker cp tmp_vimp_campus:/var/www/html/config ./tmp/config \ && docker cp tmp_vimp_campus:/var/www/html/templates ./tmp/templates \ && docker cp tmp_vimp_campus:/var/www/html/userdata ./tmp/userdata \ && docker stop tmp_vimp_campus \ && docker rm tmp_vimp_campus \ && rm ./tmp/config/databases.yml ./tmp/config/propel.ini
Mit den vorstehenden Befehlen haben Sie ein „tmp/“-Verzeichnis erstellt und aus der aktuellen VIMP-Version die Ordner config, templates und userdata dort hinein kopiert.
Als nächstes ist etwas Handarbeit gefragt. Ihre Anpassungen in den bisherigen Ordnern (sofern Sie welche vorgenommen haben) müssen mit den Dateien aus /tmp/{config,userdata,templates} zusammengeführt werden.
Im einfachsten Fall - wenn Sie keine individuellen Anpassungen vorgenommen haben - können Sie die Dateien einfach kopieren:
cp -ar tmp/* .
Wenn das erledigt ist, können Sie mit
docker-compose stop httpd && docker-compose rm httpd
die aktuelle VIMP-Version stoppen und löschen und mit
docker-compose up -d httpd
die neue Version starten. Passen Sie davor aber bitte die richtige Version in der docker-compose.yml an.
Als Letztes muss noch ein Datenbank-Update ausgeführt werden:
docker-compose exec httpd ./symfony framework:update --yes
Bitte ersetzen Sie den Registry-Pfad wie weiter oben beschrieben!
version: '3.3' services: httpd: image: registry.vimp.dev/vimp/campus:5.8.2-47311 container_name: vimp_httpd_campus restart: always ports: - "80:80" # use a free port environment: - APACHE_SERVER_NAME=localhost volumes: - ./config:/var/www/html/config:cached - ./templates:/var/www/html/templates:cached - ./userdata:/var/www/html/userdata depends_on: - db networks: - vimp-network db: image: mariadb:latest container_name: mariadb restart: always expose: - 3306 volumes: - "./vimp_db:/var/lib/mysql" environment: MYSQL_USER: vimp MYSQL_PASSWORD: secret MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: vimp command: --sql_mode="IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO" networks: - vimp-network networks: vimp-network: # Define a custom network driver: bridge