Cambiar el backend de almacenamiento de 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 Me gusta

¡Hola! Disculpa la molestia, pero llevo usando Discourse como dos años y ahora estoy intentando meterme en el proceso de desarrollo de plugins.

Tengo un VPS con Ubuntu 16.04 recién instalado y Docker se instala por defecto con devicemapper. No hay forma de cambiarlo (este tutorial y todo lo que aparece en Google hacen que Docker sea imposible de iniciar). ¿Alguna idea?

¿Por qué Ubuntu 16.04, que ya está bastante desactualizado? ¿Por qué no 18.04?

He probado ambos y creo que mi VPS no soporta ese kernel o algo así. Tengo un VPS mejor en la misma compañía y no tengo ningún problema…

Supongo que después de esto puedes (¿deberías?) eliminar el directorio /var/lib/docker/aufs y el archivo export_local_discourse_app?