Ändern Sie den Docker-Speicher-Backend

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 „Gefällt mir“

Hallo! Entschuldige bitte das Aufrufen, aber ich benutze Discourse seit etwa zwei Jahren und versuche jetzt, mich in die Plugin-Entwicklung einzuarbeiten. Ich habe einen VPS mit frisch installiertem Ubuntu 16.04, und Docker wird standardmäßig mit dem devicemapper installiert. Es besteht keine Möglichkeit, dies zu ändern (dieses Tutorial und alle Suchergebnisse bei Google machen es unmöglich, Docker zu starten). Hast du einen Tipp?

Warum Ubuntu 16.04, das doch schon ziemlich veraltet ist? Warum nicht 18.04?

Ich habe beide ausprobiert und denke, dass mein VPS diesen Kernel oder etwas Ähnliches nicht unterstützt. Ich habe einen besseren VPS beim selben Anbieter und habe keine Probleme…

Ich gehe davon aus, dass Sie danach das Verzeichnis /var/lib/docker/aufs und die Datei export_local_discourse_app löschen können (sollten?).