Very impresive system and aproach for common codebase. Don’t get it wrong, monolithing codebse has nothing to do with Monolitic architecture of their software. It is hundert times bigger thn linux kernel repostiory but of course it trunk based! Just awesome!
On the way of getting familiar with Docker people first compare Containers to Virtual machines and ask question How is Docker different to Virtual Machines (Check my answer on that too). In this post i want to answer the question i heard recently from one of my colleagues
“Why is deploying Docker Containers better than deploying via RPM package?”
I would like to elaborte some details, and compare Linux Container (e.g. Docker) and packet manager (RPM or DEB) features in detail. Read more »
Debian jessie is now officially released. So it’s time to upgrade my home server (used as NAS and for development)
I’ve no concerns regarding dev tools exept docker installation from backport. I have a feeling that i have to made some configuration backup. To track unexpected changes that may apply due switching to Systemd
Furthermore I cannot tolerate any loss on data. Well I’m using software raid and data is stored on separate discs. The core system is not running on raid, my root partition is mounted to dedicated SSD. Anyway, all very important data are backed up now. And to some degree not so important.
But anyway i want’ to have assurance and control if possible by having not much effort.
Google Cloud SQL is fully managed MySQL service in the google cloud… Such managed hosting has a number of advantages. For me it means less wories about data, backups, configurations and updates of the softwar. So Google Cloud SQL sounds promissing and i tried a very small instance which cost approx 10$ a month. And i tried it as replacement for my own (not tuned) mysql instance running in a docker continer on a g1-small (1 vCPU, 1,7 GB RAM) instance backed by 40 GB SSD (not local SSD). So the test dissapointed me a little.
Today Docker Version 1.3 is was released and is avalable in repositories.
$docker info Containers: 63 Images: 356 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Dirs: 482 Execution Driver: native-0.2 Kernel Version: 3.1.0-1-amd64 Operating System: Debian GNU/Linux 7 (wheezy)
It introduces new comand exec. It makes tools like nsinit and nsenter obsolete. Entering running container becomes possible with docker itself and i like this very, very much. In fact exec allows to execute additional process within the container, e.g.
$ docker exec myContainer -it bash
Example above attaches to runing cotainer “myContainer”.
Read more »
Why care about Systemd
In spring of 2014 debian committee memebrs decided to switch to systemd with next release (8.0 Jessie). But systemd was not loved by all people, especially by conservative admins. Debian is a very stability oriented distribution, therefore such dramatic change to hard of every distribution, which is a switch to systemd is, lead to many discussion in the debian comunity. I’ve seen very angry post regarding this in last weeks. But what to you think? Will it at end be good?
If’ve seen comment from linux guys that don’t understand or maybe don’t care of some of systemd benefits e.g. “Faster starting”. But that is maybe not a point, mostly they are concerned about new “huge monster”. Monster in a sense of size, because systemd seemes to take too much responsibilities, and tends to be harder to maintain, to debug and to understand. It’s just to big in the codebase. Look at comparison of different init Systems. As it can be seen systemd is much larger system and includes dbus and glib.All of this results in huge footprint of libs and code in comparison to sysvinit. Also there is a fear to new approach to binary logging. Indeed that is one of the controversies changes, by default systemd uses binary logging which lead to hot debates about it.
But there must be something good about systemd… let’s see..
By default docker will put all the data including images under /var/lib/docker (At least on Debian). This could let to problems with space. It’s the case on my home server so i had to move docker location. I had to mount /var/lib/docker to new place. Because my /var and /usr are mounted to different partitions and discs i try to solve space problem by mounting docker default location to new mount under /usr/local/docker transparently.
First backup of fstab
sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)
Then stop docker and copy all files per rsync preserving all attributes.
sudo service docker stop sudo mkdir /usr/local/docker sudo rsync -aXS /var/lib/docker/. /usr/local/docker/ [/bash]
Now it was important to check that everything was copied right. I’ve did eye check, but diff -r command is useful to. Ok it’s important to make new mount and make it durable in fstab. That is what was useful in my case inside of fstab.
# <file system> <mount point> <type> <options> <dump> <pass> # ... /usr/local/docker /var/lib/docker none bind 0 0
;file system> <mount point> <type> <options> <dump> <pass>
Now mount of new configuration without reboot.
Now docker has enough space.
My last post is about how to start with Docker on GCE. Yet i’m continuing with tests and moving to real life scenarios. Firstly i wanted to improve my docker base images.
After reading Michael Crosby’s Dockerfile best Practises i’ve rebuild my basic Dockerfiles. All my Docker images are trusted nature and you can look inside and even fork them on GitHub (Don’t be shy to comment if you see improvement potential). Let’ me here present some of them.
This is brief description of docker test on Google compute engine (One of google’s cloud services)
At First we need gcloud Tools. You can use them as prepared docker container or by installation on your machine.
#install google cloud sdk $curl https://dl.google.com/dl/cloudsdk/release/install_google_cloud_sdk.bash | bash
At this point you should have google account, google compute engine account with at least one project inside. You need a project ID to log in into it.
Now you are able to login and to create first VM instance in this project. Read more »
Today ended my experiment with Livefyre comment system on this blog. Somehow it was a hype, but it not realy boosted comment on my blog. Now i think there is more disadvantages than advantages to this system and it’s time to change. I’m also not realy exitet about DISQUS, because the native WordPress commenting system is quite good with a set of addtional plugins.
But before i’ll go back to this, i give DISQUS a try. I don’t know exactly if there are hidden configuration tricks in 2014, please give me a hint if there are any tipps. I’m unsure about quality of WP- Plugin. I hope it is SEO friendly out of the box and syncronizes every comment back to my wordpress.