Wie installiere oder update ich ViMP Ultimate über das Docker-Image?

Editionen: Ultimate Extended
Versionen: 4.3+

Image herunterladen und importieren

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!

Erstinstallation

Bitte ersetzen Sie 4.x.x-rxxxxx im Folgenden durch die aktuelle Versionsnummer und Revision.

gunzip vimp-ultimate-extended-docker-4.x.x-rxxxxx.tar.gz
docker load -i vimp-ultimate-extended-docker-4.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.com/vimp/ultimate   4.3.3-16            62fbad7db208        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.com/vimp/ultimate:4.3.3-16).

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 vimp4_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_ultimate registry.vimp.com/vimp/ultimate:4.3.3-16 \
&& docker cp tmp_vimp_ultimate:/var/www/html/config . \
&& docker cp tmp_vimp_ultimate:/var/www/html/templates . \
&& docker cp tmp_vimp_ultimate:/var/www/html/userdata . \
&& docker stop tmp_vimp_ultimate \
&& docker rm tmp_vimp_ultimate

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.

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.

docker-compose exec httpd ./symfony framework:install -C --yes \
&& docker-compose exec httpd ./symfony framework:update --nothing --modules=y \
&& docker-compose exec httpd ./symfony framework:update --nothing --database=y \
&& docker-compose exec httpd ./symfony framework:update --nothing --rebuild=y

WICHTIGER HINWEIS: framework:install löscht alle vorhandenen Daten! Führen Sie dies nicht auf einer bestehenden ViMP-Datenbank aus, wenn Sie nicht wissen, was Sie tun! Lesen Sie weiter unten, wie Sie das Docker-Image aktualisieren.

Das war's - Sie können nun über Ihren angegebenen Apache-Servernamen auf ViMP zugreifen, in unserem Beispiel http://localhost.

Neues Docker-Image aktualisieren

Hier beschreiben wir, wie Sie ViMP Ultimate Extended mit docker-compose aktualisieren, wenn eine neue Version des Images vorliegt.

Bitte ersetzen Sie 4.x.x-rxxxxx im Folgenden durch die aktuelle Versionsnummer und Revision.

gunzip vimp-ultimate-extended-docker-4.x.x-rxxxxx.tar.gz
docker load -i vimp-ultimate-extended-docker-4.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.com/vimp/ultimate   4.3.3-16            62fbad7db208        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.com/vimp/ulitmate:4.3.3-16).

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 tmp \
&& docker run -d --name tmp_vimp_ultimate registry.vimp.com/vimp/ultimate:4.3.3-16 \
&& docker cp tmp_vimp_ultimate:/var/www/html/config ./tmp/config \
&& docker cp tmp_vimp_ultimate:/var/www/html/templates ./tmp/templates \
&& docker cp tmp_vimp_ultimate:/var/www/html/userdata ./tmp/userdata \
&& docker stop tmp_vimp_ultimate \
&& docker rm tmp_vimp_ultimate \
&& 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 --nothing --database=y

Und die Dateiberechtigungen für die Volumes nochmals gesetzt werden:

docker-compose exec httpd ./symfony framework:permissions

Beispiel docker-compose.yml

Bitte ersetzen Sie den Registry-Pfad wie weiter oben beschrieben!

version: '3.3'
services:
  httpd:
    image: registry.vimp.com/vimp/ultimate:4.3.3-16
    container_name: vimp_httpd
    restart: always
    ports:
      - "80:80"
    environment:
      - APACHE_SERVER_NAME=localhost
    volumes:
      - ./config:/var/www/html/config:cached
      - ./templates:/var/www/html/templates:cached
      - ./userdata:/var/www/html/userdata
    links:
      - db
    depends_on:
      - db

  db:
    image: mariadb:latest
    container_name: vimp_db
    #command: mysqld --sql_mode="" --character-set-server=utf8 --init-connect='SET NAMES UTF8;'
    command: mysqld --sql_mode="IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO"
    restart: always
    expose:
      - 3306
    volumes:
      - "./vimp4_db:/var/lib/mysql"
    environment:
      MYSQL_USER: vimp
      MYSQL_PASSWORD: secret
      MYSQL_ROOT_PASSWORD: secret
      MYSQL_DATABASE: vimp

Zuletzt aktualisiert am 19.02.2021 von Admin.

Zurück