J'utilise aussi docker-Compose pour mon système dans lequel arangodb est exécuté sous le nom de service database
comme ceci:
version: '2.1' services: database: image: arangodb:3.1.3 ports: - 8529:8529 volumes: - /opt/my-system/Database/arangodb:/var/lib/arangodb3 - /opt/my-system/Database/arangodb-apps:/var/lib/arangodb3-apps restart: always healthcheck: test: curl -f my-system:8529/_api/version || exit 1 . . . other services
Avant la mise à niveau, je dois aussi arrêter mon système. Je viens de mettre à jour mon conteneur arangodb les étapes suivantes (3.1.3 => 3.2.5)
docker pull arangodb:3.2.5
=> obtenir l'image que vous souhaitez passer à
docker-compose stop
=> mon système qui arrête utilise la base de données
- sauvegarde les volumes de base de données (je viens de faire une copie de/opt/my-system/dossier de base de données)
docker-compose rm -f database
=> retirer le récipient en cours d'exécution vieux arangodb
- mise à jour fichier docker-compose.yml avec de nouvelles image arangodb => s o
image:arangodb:3.1.3
devient image:arangodb:3.2.5
docker-compose run --rm database arangod --database.auto-upgrade
=> ceci créera le conteneur de la base de données sous v3.2.5, mettra à jour les fichiers de la base de données, puis supprimera le conteneur une fois terminé.
docker-compose up -d database
=> lancer la base de données mis à jour pour voir si tout est OK
docker-compose start
=> démarrer le reste du système, qui utilise maintenant la base de données mis à jour
Si j'avais des erreurs lors de la mise à niveau, je pouvais J'ai facilement retrouvé la version 3.1.3, car je garde toujours l'image précédente et les fichiers de la base de données. J'espère que cela aide!