如何在Azure Web应用程序中为容器设置dns选项

Rıf*_*hin 13 containers azure docker dockerfile azure-web-app-service

这是运行容器时发生的情况.我想知道是否有办法启动带有自定义DNS的容器的Web应用程序.

我在ILB-ASE中有5个微服务,他们需要能够使用VNet中的自定义DNS服务器相互呼叫.当我检查resolv.conf时,我看到127.0.0.11.我需要将其设置为我自己的自定义DNS服务器.

我们如何在这里注入自定义DNS值?

我们应该使用appsettingsif,那么Web应用程序中的容器值是多少?

所以我可以使用--dns选项

Azure运行它的神秘部分.一些价值观来自appsettings.

2018-08-23 14:12:56.100 INFO - docker run -d -p 13940:5001 --name xxx -e DOCKER_CUSTOM_IMAGE_NAME = xxx.azurecr.io/xxx:558 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE = false -e WEBSITES_PORT = 5001 -e WEBSITE_SITE_NAME = xxx -e WEBSITE_AUTH_ENABLED = False -e WEBSITE_ROLE_INSTANCE_ID = 0 -e WEBSITE_INSTANCE_ID = xxx -e HTTP_LOGGING_ENABLED = 1 xxx.azurecr.io/xxx:558

===== DOCKER LOG =========

2018_08_23_RD0003FF2D0408_default_docker.log:

2018-08-23T14:12:49.755843301Z [40m [1m [33mwarn [39m [22m [49m:Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager [35]

2018-08-23T14:12:49.755897801Z未配置XML加密器.密钥{xxx-xxx-xxx-xxx-xxx}可以以未加密的形式保存到存储中.

2018-08-23T14:12:54.761216323Z [40m [1m [33mwarn] [39m [22m [49m:Microsoft.AspNetCore.Server.Kestrel [0]

2018-08-23T14:12:54.761251623Z覆盖地址' http:// +:80 '.绑定到UseKestrel()中定义的端点.

2018-08-23T14:12:54.908189021Z主机环境:生产

2018-08-23T14:12:54.908386123Z内容根路径:/ app

2018-08-23T14:12:54.908961927Z现在监听:http://0.0.0.0:5001

2018-08-23T14:12:54.909256229Z申请开始.按Ctrl + C关闭.

2018_08_23_RD0003FF2D0408_docker.log:

2018-08-23 14:12:44.125 INFO - 由于AppFrameworkVersionChange和appFrameworkVersion = xxx.xxx.io/xxx:558而回收容器

2018-08-23 14:12:45.900 INFO - 为站点启动容器

2018-08-23 14:12:45.900 INFO - docker run -d -p 30464:5001 --name xxx -e DOCKER_CUSTOM_IMAGE_NAME = xxx.azurecr.io/xxx:549 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE = false -e WEBSITES_PORT = 5001 -e WEBSITE_SITE_NAME = xxx -e WEBSITE_AUTH_ENABLED = False -e WEBSITE_ROLE_INSTANCE_ID = 0 -e WEBSITE_INSTANCE_ID = xxx -e HTTP_LOGGING_ENABLED = 1 xxx.xxx.io/xxx:558

2018-08-23 14:12:55.972 INFO - 站点xxx的容器xxx已成功初始化.

2018-08-23 14:12:55.976 INFO - 由于AppSettingsChange和isMainSite = True而回收容器

2018-08-23 14:12:56.099 INFO - 为站点启动容器

2018-08-23 14:12:56.100 INFO - docker run -d -p 13940:5001 --name xxx -e DOCKER_CUSTOM_IMAGE_NAME = xxx.azurecr.io/xxx:558 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE = false -e WEBSITES_PORT = 5001 -e WEBSITE_SITE_NAME = xxx -e WEBSITE_AUTH_ENABLED = False -e WEBSITE_ROLE_INSTANCE_ID = 0 -e WEBSITE_INSTANCE_ID = xxx -e HTTP_LOGGING_ENABLED = 1 xxx.azurecr.io/xxx:558

2018-08-23 14:13:05.385 INFO - 站点xxx的容器xxx已成功初始化.

小智 3

我们在 Github 和 Reddit 上回复了您的问题。在此处重新发布我们的回复以提高可见性。

\n\n

“目前,有一个解决方法:您应该将默认的 resolv.conf 修改为自定义 DNS IP,然后通过在入口点脚本中添加 COPY 命令并指向自定义 resolv.conf 在 docker 构建上添加自定义 resolv.conf到 /etc。

\n\n

不过,我们正在研究更好的解决方案,因此不需要手动更新 resolv.conf\xe2\x80\x99,所以请继续关注。”

\n