Discussion about the issue is here:
https://github.com/docker/docker/issues/2267That said:
With a DHCP server, you get this warning when you try to edit /etc/resolv.conf:
"Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN"
Docker works in a similar fashion to assign IPs so this shouldn't be surprising.
http://askubuntu.com/questions/475764/docker-io-dns-doesnt-w...
http://docs.docker.com/installation/ubuntulinux/
You are supposed to modify /etc/default/docker and use a consistent group of DNS servers per-host. Its simple and it works, honestly.
DOCKER_OPTS="--dns 8.8.8.8"
Can you tell I disagree? ;)
/etc/hosts shouldn't need modification if you control your dns server...since you can just place whatever you need there.
As for alternatives...
Docker is popular because all the alternatives are much larger PIA to manage.
I'd suggest, if you dislike their private repo system, you just use git to manage the files for each docker image and create it locally on the host. [e.g. git clone, cd, docker build .]
I honestly fine that works well enough and means I don't have to maintain more than a single gitlab instance for my projects.