Sonatype Nexus Migration von eingebautem OrientDB zu PostgreSQL in separatem Container

English Deutsch

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_postgres_migration.yml
nexus:
    image: sonatype/nexus3:3.70.0
    # ...
    depends_on:
      - postgres

Fügen Sie die Konfiguration für Postgres zu .env hinzu

nexus_postgres.env
POSTGRES_DB=nexus
POSTGRES_USER=nexus
POSTGRES_PASSWORD=ahyath1thaem4Aedaemeoph5Aadohb

Fügen Sie die Datastore-Konfiguration zu nexus_data/etc/nexus.properties hinzu:

nexus.properties
nexus.datastore.enabled=true

Fügen Sie die PostgreSQL-Verbindungszeichenfolge zu nexus_data/etc/fabric/nexus-store.properties hinzu:

nexus-store.properties
username=nexus
password=ahyath1thaem4Aedaemeoph5Aadohb
jdbcUrl=jdbc\:postgresql\://postgres\:5432/nexus

Fügen Sie den PostgreSQL-Container hinzu

docker-compose-nexus-postgres.yml
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

download_nexus_migrator.sh
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

run_nexus_migrator.sh
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"'

Check out similar posts by category: Docker