Um auf Services in einem Container, wie z.B. SSH oder MySQL zuzugreifen, benötigt man ja eigentlich die IP-Adresse des Containers. Mit ein paar Handgriffen kann man aber auch einfach den Hostnamen des Containers, wie im folgenden Beispiel benutzen.
lxc-create -n mysql1.lxc -t ubuntu -- --release=xenial lxc-start -n mysql1.lxc -d ssh ubuntu@mysql1.lxc
Um die interne Namensauflösung für die lxc
-Domain zu aktivieren, muss folgende Zeile in /etc/default/lxc-net
einkommentiert werden und der Dienst lxc-net
neugestartet werden.
LXC_DOMAIN=lxc
LXC startet selbst den einfachen DNS- und DHCP-Server dnsmasq für sein Netzwerk, welcher auf die IP-Adresse 10.0.3.1
hört. Diese tragen wir einfach als Nameserver in /etc/resolvconf/resolv.conf.d/head
ein:
nameserver 10.0.3.1
Danach muss die Datei resolv.conf
mit folgendem Befehl aktualisiert und eventuell laufende Container neugestartet werden.
resolvconf -u

Hallo,
habe auf Ubuntu 16.04 dnsmasq installiert und folgende Einträge in der /etc/dnsmasq.conf eingetragen:
server=/lxc/10.0.3.1
server=/3.0.10.in-addr.arpa/10.0.3.1
Der dnsmasq auf dem Host funktioniert als DNS-Cache.
Die lxc-domaine ist bei mir auch lxc und habe die Reverse-Anfragen auch noch. Zudem werden nur anfragen zu lxc bzw Netzwerk-Ip an den richtigen DNS wietergereicht