Skip to content

Instantly share code, notes, and snippets.

@goddoe
Created February 1, 2019 17:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save goddoe/8b9be4186852ac315ccaa5ceb754ae72 to your computer and use it in GitHub Desktop.
Save goddoe/8b9be4186852ac315ccaa5ceb754ae72 to your computer and use it in GitHub Desktop.
change docker stroage
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 9, but I don’t see any answers. I used this excellent guide 64 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment