雲原生Docker容器自定義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
官方文檔: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內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- docker 容器自定義 hosts 網絡訪問操作
- Docker Portainer 可視化面板的使用
- 淺談Docker如何自定義host文件
- docker可視化工具Portainer部署並漢化的操作
- kali安裝docker和portainer的配置方法