云原生Docker容器自定义DNS解析
短信预约 -IT技能 免费直播动态提醒
描述
- 在特定的情况下,或者在网络策略特殊定义下,需要自定义dns进行域名访问,在宿主机上配置了域名解析,对于docker容器无效。
- 对于局域网内的域名解析,Docker 需要到 Docker 容器中配置 hosts 文件。
实现方式
docker-compose配置【推荐】
通过增加 extra_hosts 属性 进行host配置
version: '2'
services:
# 指定服务名称
portainer-docker-compose:
image: portainer/portainer
container_name: portainer
volumes:
- /etc/localtime:/etc/localtime
ports:
- 29999:8080
environment:
spring.profiles.active: dev
extra_hosts:
s3-qos.qiniu-solutions.com: 10.12.32.4
demos.s3-qos.iot-st-armtest.qiniu-solutions.com: 10.12.32.4
restart: always
进入容器内部修改
进入容器
docker exec -it 0485008fc3e5 /bin/sh
修改容器内的hosts
cat /etc/hosts
docker run 命令的时候添加
进行dns映射:s3-qos.qiniu-solutions.com:10.12.32.4
docker run -d -p 9000:9000 \
--restart=always \
--add-host s3-qos.qiniu-solutions.com:10.12.32.4 \
-v /var/run/docker.sock:/var/run/docker.sock \
--name portainer portainer/portainer
官方文档:https://docs.docker.com/engine/reference/commandline/run/
docker build构建镜像时添加
docker build --add-host=docker:10.180.0.1 .
官方文档:https://docs.docker.com/engine/reference/commandline/build/#add-host
结尾
- 如果是单机推荐大家采用docker-compose的方式进行编排【开发测试环境】,生产环境可以采用k8s进行编排。
- 官方文档:https://kubernetes.io/zh-cn/docs/tasks/network/customize-hosts-file-for-pods/
总结
到此这篇关于云原生Docker容器自定义DNS的文章就介绍到这了,更多相关docker容器自定义DNS内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341