Hãy để dnsmasq làm điều đó cho bạn.
Định cấu hình phiên bản dnsmasq của máy chủ của bạn để truy vấn phiên bản dnsmasq của lxc cho tên miền cấp cao nhất .lxc.
Trong / etc / default / lxc-net, bỏ ghi chú dòng này:
LXC_DOMAIN="lxc"
Nếu phiên bản dnsmasq của máy chủ của bạn được khởi chạy bởi NetworkManager (như trường hợp với hầu hết các cài đặt máy tính để bàn Ubuntu hiện tại), hãy tạo một tệp có tên /etc/NetworkManager/dnsmasq.d/lxc.conf với dòng này bên trong:
server=/lxc/10.0.3.1
Nếu dnsmasq của máy chủ của bạn được khởi chạy bởi một thứ khác ngoài NetworkManager, hãy thêm dòng đó vào /etc/dnsmasq.d-av Available / lxc thay thế:
server=/lxc/10.0.3.1
Sau đó khởi động lại mọi thứ để họ nhận các thay đổi:
service lxc-net stop
service lxc-net start
service network-manager restart
Bạn có thể phải khởi động lại các thùng chứa lxc của mình hoặc yêu cầu chúng cho thuê DHCP mới trước khi chúng xuất hiện trong DNS. . để chắc chắn.
Sau đó thử nó:
$ host mycontainer.lxc
mycontainer.lxc has address 10.0.3.21
$ ssh ubuntu@mycontainer.lxc
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-39-generic x86_64)
ubuntu@mycontainer:~$