Sonatype Nexus Migration von eingebautem OrientDB zu PostgreSQL in separatem Container
Hinweis: Dieser Beitrag ist hauptsächlich nur eine Sammlung von Befehlen, die ich ausprobiert habe. Ich bin mir nicht zu 100% sicher, was der korrekte Weg ist, dies zu tun, aber es hat am Ende für mich funktioniert. Sichern Sie Ihre Daten, bevor Sie es versuchen!
Basierend auf den offiziellen Sonatype-Migrationsanweisungen und unserer 5-Minuten-Nexus-Konfiguration, aber für Docker angepasst.
Stellen Sie sicher, dass Nexus in Version 3.70.0 ausgeführt wird, und fügen Sie depends_on zum Nexus-Service in docker-compose.yml hinzu:
nexus:
image: sonatype/nexus3:3.70.0
# ...
depends_on:
- postgresFügen Sie die Konfiguration für Postgres zu .env hinzu
POSTGRES_DB=nexus
POSTGRES_USER=nexus
POSTGRES_PASSWORD=ahyath1thaem4Aedaemeoph5AadohbFügen Sie die Datastore-Konfiguration zu nexus_data/etc/nexus.properties hinzu:
nexus.datastore.enabled=trueFügen Sie die PostgreSQL-Verbindungszeichenfolge zu nexus_data/etc/fabric/nexus-store.properties hinzu:
username=nexus
password=ahyath1thaem4Aedaemeoph5Aadohb
jdbcUrl=jdbc\:postgresql\://postgres\:5432/nexusFügen Sie den PostgreSQL-Container hinzu
services:
postgres:
image: postgres
restart: unless-stopped
volumes:
- ./pg_data:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}Laden Sie den Migrator in das gemappte Datenverzeichnis herunter
cd nexus_data
wget https://download.sonatype.com/nexus/nxrm3-migrator/nexus-db-migrator-3.72.0-01.jar
cd ..Führen Sie den Migrator aus
docker-compose run nexus /bin/bash -c 'java -Xmx16G -Xms16G -XX:+UseG1GC -XX:MaxDirectMemorySize=28672M -jar /nexus-data/nexus-db-migrator-* --migration_type=postgres --db_url="jdbc:postgresql://postgres:5432/nexus?user=nexus&password=ahyath1thaem4Aedaemeoph5Aadohb"'