云原生-Dockerdocker容器自定义DNS解析

Posted rundreamsFly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云原生-Dockerdocker容器自定义DNS解析相关的知识,希望对你有一定的参考价值。

描述

  • 在特定的情况下,或者在网络策略特殊定义下,需要自定义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

docker build构建镜像时添加

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

结尾

以上是关于云原生-Dockerdocker容器自定义DNS解析的主要内容,如果未能解决你的问题,请参考以下文章

[云原生之DockerDocker容器的存储与迁移

云原生之DockerDocker的网络管理

云原生打造企业内部DNS+ETCD+NTP+Quay高可用实战(完结篇)

云原生|DockerDocker镜像操作

云原生 • DockerDocker常用命令总结(值得收藏)

云原生Docker09-Docker网络详解