I’ve been updating lxc-docker every time a new version is suggested by my Linux OS. While the apt-get install lxc-docker was working it stops and starts again with the new Docker version. Usually nothing happens with the containers being forced stop and started that way but today I’ve had a broken Mysql DB for this WordPress installation and couldn’t restore it from its data directory no matter what I’ve tried. Because I didn’t want to loose more time I decided I can restore previous commits to the same image that container is running from.
I’ve found the docker history imagename command and tried it. I’ve added a couple of commits to this image and I’ve had a couple of lines with the history commands. I’ve picked the commit before the broken state and ran the wordpress container the same way I am running it with the :latest tag but this time used the commit ID. It ran well and I’ve made a commit from it to its image. Stopped and removed the wordpress container and ran it with the usual command using the latest imagename command this time and now it’s running well.
Now I know that when I am going to stop the images and update the Docker executable I must backup the databases, files and commit the latest state of the containers (not much by the rules because the container should be able to be rebuilt at any time keeping the data outside the container).
If you like me after updating to the latest wordpress version have troubles and JS errors while starting a new post or browsing through the admin pages you need to edit your wp-config.php file in your WordPress installation directory and add at the top:
Save the file and refresh the pages, browse through the admin pages, start a new post. Everything is looking fine now.
This fix is not a total solution but it works so far so let’s see what the next update will do for us.
Darcs is a free and open source, cross-platform version control system, like git, mercurial or subversion but with a very different approach. Thanks to its focus on changes rather than snapshots, Darcs can offer a freer way of working, and a simpler user interface.
I just started learning it by reading its online documentation. I will definitely have to find a book about it and there is at least one out there and also I have to pass through all the examples like 10 times until I sit and make something with it. The installation of course is the easiest part, even inside a Vagrant box or Docker.