服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - 云原生Docker容器自定义DNS解析

云原生Docker容器自定义DNS解析

2023-05-11 14:33rundreamsFly 服务器知识

Docker没有为每个容器专门定制镜像,那么怎么自定义配置容器的DNS配置呢?这篇文章主要给大家介绍了关于云原生Docker容器自定义DNS的相关资料,需要的朋友可以参考下

描述

  • 在特定的情况下,或者在网络策略特殊定义下,需要自定义dns进行域名访问,在宿主机上配置了域名解析,对于docker容器无效。
  • 对于局域网内的域名解析,Docker 需要到 Docker 容器中配置 hosts 文件

 

实现方式

 

docker-compose配置【推荐】

通过增加 extra_hosts 属性 进行host配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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

 

进入容器内部修改

进入容器

?
1
docker exec -it 0485008fc3e5 /bin/sh

修改容器内的hosts

?
1
cat /etc/hosts

云原生Docker容器自定义DNS解析

 

docker run 命令的时候添加

进行dns映射:s3-qos.qiniu-solutions.com:10.12.32.4

?
1
2
3
4
5
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容器自定义DNS解析

 

docker build构建镜像时添加

?
1
docker build --add-host=docker:10.180.0.1 .

官方文档:https://docs.docker.com/engine/reference/commandline/build/#add-host

云原生Docker容器自定义DNS解析

 

结尾

  • 如果是单机推荐大家采用docker-compose的方式进行编排【开发测试环境】,生产环境可以采用k8s进行编排。
  • 官方文档:https://kubernetes.io/zh-cn/docs/tasks/network/customize-hosts-file-for-pods/

 

总结 

到此这篇关于云原生Docker容器自定义DNS的文章就介绍到这了,更多相关docker容器自定义DNS内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/u010800804/article/details/129021874

延伸 · 阅读

精彩推荐