容器 DNS
核心概念
# 自定义网络中容器可以用容器名通信
docker network create my-net
docker run -d --name redis --network my-net redis
docker run -d --name app --network my-net my-app
# app 中可以直接用 redis:6379 连接
DNS 解析
# 容器名 → 容器 IP
docker exec app nslookup redis
# redis -> 172.18.0.2
# 网络别名
docker run -d --network my-net --network-alias db mysql
# 可以用 db 访问
自定义 DNS
docker run --dns 8.8.8.8 nginx
小结
| 功能 | 说明 |
|---|---|
| 容器名 DNS | 自定义网络自动启用 |
--network-alias | 网络别名 |
--dns | 自定义 DNS |