Changer le backend de stockage Docker

Hello all,

I have been using Docker with the Devicemapper storage driver. After manually editing the launcher script, I finally took the time to convert to Overlay2. Here are the instructions I took to do this. I hope this helps others. I see others have asked the question, but I don’t see any answers. I used this excellent guide to help figure this out.

Step 1: Halt your Discourse application (and other docker apps)

./launcher stop app

Step 2: Commit and save your old Docker containers/images

We first committed each image we care for so that we had the most recent version tagged somewhere with all changes included. This can be done roughly like this:

docker ps -a
# for each container you care for, stop and then commit it
docker commit e198aac7112d export/local_discourse_app 
docker save export/local_discourse_app > export_local_discourse_app.tar.gz

Step 3: Change storage driver

I chose Overlay2, but the Discourse-recommended driver is aufs. Adjust as necessary. If something goes wrong, simply set the storage-driver to devicemapper as needed.

Insert the following into /etc/docker/daemon.json

{
  "storage-driver": "overlay2"
}

Step 4: Restart docker

sudo service docker restart

Step 5: Import image into new storage device

docker load < export_local_discourse_app.tar.gz

Step 6: Rebuild Discourse

./launcher rebuild app

I hope this helps! Feel free to suggest any modifications or questions.

18 « J'aime »

Bonjour ! Désolé de faire remonter ce sujet, mais j’utilise Discourse depuis environ deux ans et je tente maintenant de me lancer dans le développement de plugins.

J’ai un VPS avec une installation fraîche d’Ubuntu 16.04. Docker est installé par défaut avec le stockage device-mapper. Il n’est pas possible de le changer (ce tutoriel et tous les résultats Google rendent Docker impossible à démarrer). Une idée ?

Pourquoi Ubuntu 16.04, qui est déjà assez obsolète ? Pourquoi pas 18.04 ?

J’ai essayé les deux et je pense que mon VPS ne prend pas en charge ce noyau ou quelque chose comme ça. J’ai un meilleur VPS chez le même fournisseur et je n’ai aucun problème…

Je suppose qu’après cela, vous pouvez (devriez ?) supprimer le répertoire /var/lib/docker/aufs et le fichier export_local_discourse_app ?