如何为 Docker 容器添加域名和 IP 地址
💡
原文英文,约600词,阅读约需3分钟。
📝
内容提要
文章介绍了如何使用 dnsmasq 和 /etc/hosts 文件增强 Docker 容器网络功能。提供了两种方法:与 NetworkManager 集成的 dnsmasq 配置和独立的 dnsmasq 配置。步骤包括安装和配置 dnsmasq、配置 Docker 使用 dnsmasq,以及在 /etc/hosts 文件中添加测试域名。
🎯
关键要点
- 文章介绍了如何使用 dnsmasq 和 /etc/hosts 文件增强 Docker 容器网络功能。
- 提供了两种方法:与 NetworkManager 集成的 dnsmasq 配置和独立的 dnsmasq 配置。
- 步骤包括安装和配置 dnsmasq、配置 Docker 使用 dnsmasq,以及在 /etc/hosts 文件中添加测试域名。
- 安装 dnsmasq 的命令:对于 Debian / Ubuntu 使用 sudo apt install dnsmasq,RHEL / CentOS / Fedora 使用 sudo dnf install dnsmasq。
- 如果不使用 NetworkManager,需创建 dnsmasq 配置文件并设置监听 Docker 桥接接口。
- 如果使用 NetworkManager,需在配置文件中添加 dnsmasq,并创建相应的配置文件。
- 配置 Docker 使用 dnsmasq,需要在 /etc/docker/daemon.json 中指定 DNS 地址。
- 在 /etc/hosts 文件中添加测试域名,并重启 dnsmasq 服务以获取更新。
- 通过 Docker 容器测试自定义域名是否配置成功,使用 nslookup 命令进行验证。
❓
延伸问答
如何安装 dnsmasq?
在 Debian / Ubuntu 上使用命令 sudo apt install dnsmasq,RHEL / CentOS / Fedora 上使用 sudo dnf install dnsmasq。
如何配置 Docker 使用 dnsmasq?
在 /etc/docker/daemon.json 中指定 DNS 地址为 Docker 桥接接口的 IP 地址,然后重启 Docker 服务。
如何在 /etc/hosts 文件中添加测试域名?
使用命令 sudo bash -c "echo '192.168.1.12 nonexisting.example.com' >> /etc/hosts" 添加测试域名。
dnsmasq 与 NetworkManager 集成的配置步骤是什么?
在 /etc/NetworkManager/NetworkManager.conf 中添加 dns=dnsmasq,并创建 dnsmasq 配置文件,设置监听 Docker 桥接接口。
如何测试自定义域名是否配置成功?
通过运行命令 docker run --rm --name dns-test busybox nslookup nonexisting.example.com 来测试自定义域名。
dnsmasq 的主要功能是什么?
dnsmasq 用于提供 DNS 服务,增强 Docker 容器的网络功能,支持自定义域名解析。
🏷️
标签
➡️