描述
-
在特定的情况下,或者在网络策略特殊定义下,需要自定义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 .
原创文章,作者:GVWSA,如若转载,请注明出处:http://www.wangzhanshi.com/n/11985.html