当前位置 : 主页 > 操作系统 > centos >

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

来源:互联网 收集:自由互联 发布时间:2023-03-17
目录 描述 实现方式 docker-compose配置【推荐】 进入容器内部修改 docker run 命令的时候添加 docker build构建镜像时添加 结尾 总结 描述 在特定的情况下,或者在网络策略特殊定义下,需要
目录
  • 描述
  • 实现方式
    • docker-compose配置【推荐】
    • 进入容器内部修改
    • docker run 命令的时候添加
    • docker build构建镜像时添加
  • 结尾
    • 总结 

      描述

      • 在特定的情况下,或者在网络策略特殊定义下,需要自定义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内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

      上一篇:云原生Docker创建并进入mysql容器的全过程
      下一篇:没有了
      网友评论