On second thought I put in the —hostname flags, to make it clearer. Before it was a digest from the container-id, which was not telling in the example…
$ docker run -d -v /etc/ --name host1 --hostname host1 ubuntu tail -f /dev/null 6a85473421368051efec9b6f55991a5c3b4150c575a0724695cdad99f7a26e06 $ docker run -ti --volumes-from host1 --name host2 --hostname host2 ubuntu bash root@host2:/# cat /etc/hostname host2 root@host2:/# Cheers Christian On 24 August 2016 at 08:52:15, Christian Kniep (ckn...@gaikai.com) wrote: Hey there, as for the /etc/hostname when sharing /etc/ as a volume… This ain’t a problem as /etc/hostname is taken care of by the docker-engine (in previous versions they used it to discover other hosts). As you can see in the snippet below, /etc/hostname is local, while it is possible to create a file test in /etc/, which is also present in the container I mounted the volumes from. $ docker run -d -v /etc/ --name host1 ubuntu tail -f /dev/null 3f90929cc4b761096b600d5e2b02c61ec2e26ba74167a71b2da73d28d2274dba $ docker run -ti --volumes-from host1 --name host2 ubuntu bash root@dd0167aec38e:/# cat /etc/hostname dd0167aec38e root@dd0167aec38e:/# echo "huhu" > /etc/test root@dd0167aec38e:/# exit $ docker exec host1 cat /etc/test To me the /etc/hostname problem is just to make Gentoo play nice among other distros. As described below, this is (IMHO) a sound solution to propagate the underlying hostname to the containers. Cheers Christian On 23 August 2016 at 23:22:44, William Hubbs (willi...@gentoo.org) wrote: On Tue, Aug 23, 2016 at 04:25:30PM -0400, Rich Freeman wrote: > On Tue, Aug 23, 2016 at 3:57 PM, William Hubbs <willi...@gentoo.org> wrote: > > > > I am planning to change the logic in /etc/init.d/hostname so that if > > /etc/hostname exists, the first word out of that file will be used as > > the hostname rather than any setting in /etc/conf.d/hostname. If you > > don't want /etc/hostname, just don't create it and the settings from > > /etc/conf.d/hostname will still be used. > > > > Keep in mind that this is potentially problematic for a few reasons: > > 1. The hostname could change after openrc is done setting it. If it > does, a program that reads /etc/hostname won't get the real hostname. This is also true for /etc/conf.d/hostname, so I don't see the problem here. > 2. You could have a situation where multiple containers use the same > /etc. Obviously in this situation you wouldn't want to store the > hostname anywhere in /etc unless you wanted them to all have the same > hostname. It would be better to obtain it from dhcp, or to have it > set before init is run during initialization. /etc/init.d/hostname doesn't run inside containers, so this is not relevant. > The main danger is people not thinking of all the scenarios. I'm not > quite sure why we even need /etc/hostname now given these issues and > the fact that we've apparently gotten along for a long time without > it. Have we ever gotten around to making /etc/mtab a symlink yet? I > know it wasn't for a long time. It seems like we are moving away from > container support when we should be moving towards it if anything... Container support is controlled by the keyword line in dependencies. OpenRC can detect most containers, so if you put the proper keywords on that line and RC_SYS is set correctly or the container is autodetected properly, openrc will not run the scripts that it shouldn't run in the container. Yes, /etc/mtab is a symlink by default now; that was taken care of a while back. William