【发布时间】:2018-07-25 11:33:08
【问题描述】:
我正在尝试从 docker-compose 文件将 Visual Studio Team Services 中的 CI/CD 配置为 Service Fabric 集群,但在我的发布定义的最后一步,使用“Service Fabric Compose Deploy”步骤,我'我收到错误:##[error]The ServiceDnsName for DefaultService 'myapp' is invalid.。我正在使用的guide 有一个部分说:
如果您在 Compose 文件中指定的服务名称是完全 限定域名(即它包含一个点 [.]),DNS 名称 Service Fabric 注册的是
(包括点)。如果 不是,应用程序名称中的每个路径段都成为域标签 在服务 DNS 名称中,第一个路径段成为 顶级域标签。 例如,如果指定的应用程序名称是 结构:/SampleApp/MyComposeApp,.MyComposeApp.SampleApp 将是注册的 DNS 名称。
我当前的 docker-compose 文件是:
version: '3'
services:
myapp:
image: myapp
build:
context: .\myapp
dockerfile: Dockerfile
在 VSTS 定义中,应用程序名称设置为fabric:/myapp。
我该如何解决这个问题?理想情况下,我希望我的应用程序可以通过yourendpointhere.eastus.cloudapp.azure.com/myapp 访问。这可能吗?
这是发布步骤失败的日志条目:
2018-02-14T18:30:00.8056376Z ##[section]Starting: Deploy docker-compose application to a Service Fabric cluster
2018-02-14T18:30:00.8060539Z ==============================================================================
2018-02-14T18:30:00.8060913Z Task : Service Fabric Compose Deploy
2018-02-14T18:30:00.8061507Z Description : Deploy a docker-compose application to a Service Fabric cluster.
2018-02-14T18:30:00.8061986Z Version : 0.2.3
2018-02-14T18:30:00.8062279Z Author : Microsoft Corporation
2018-02-14T18:30:00.8063154Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkID=847030)
2018-02-14T18:30:00.8063536Z ==============================================================================
2018-02-14T18:30:07.8698092Z Searching for path: D:\a\r1\a\**\docker-compose.yml
2018-02-14T18:30:07.8725249Z Found path: D:\a\r1\a\Drop\docker-compose\docker-compose.yml
2018-02-14T18:30:07.9023293Z Checking compose file
2018-02-14T18:30:16.8571892Z ##[warning]The Docker compose file contains the following 'keys' which are not supported. They will be ignored.
'build'
2018-02-14T18:30:17.1220353Z Imported cluster client certificate with thumbprint 'THUMBPRINT_REDACTED'.
2018-02-14T18:30:17.1899791Z
2018-02-14T18:30:17.1907044Z Thumbprint Subject
2018-02-14T18:30:17.1908148Z ---------- -------
2018-02-14T18:30:17.1909375Z THUMBPRINT_REDACTED CN=eastus.cloudapp.azure.com
2018-02-14T18:30:23.8293246Z Successfully connected to cluster.
2018-02-14T18:30:23.8391402Z Encrypting the password with the Server Certificate.
2018-02-14T18:30:25.1024103Z ##[warning]The cluster's server certificate with thumbprint '********' is required in order to encrypt text but the certificate could not be found on the agent machine in the 'CurrentUser\My' certificate store location.
2018-02-14T18:30:25.7091733Z Creating application
2018-02-14T18:30:29.7025507Z ##[error]The ServiceDnsName for DefaultService 'myapp' is invalid.
FileName: D:\SvcFab\IB\131631066259308291\2fve3lf5.5tp\ApplicationManifest.xml
2018-02-14T18:30:29.9330549Z ##[section]Finishing: Deploy docker-compose application to a Service Fabric cluster
【问题讨论】:
-
在本机手动部署会是什么结果?
-
我还没有尝试过使用docker-compose方法。该指南仅介绍了在 VSTS 上设置 CI/CD,但我可以尝试。当我使用类型为“容器”的服务结构应用程序部署它时,它无法访问,可能是因为 Windows 容器的 localhost WinNAT 错误。
-
我遇到了同样的问题。如果您找到解决方案,请更新。我也在努力寻找解决方案,如果找到了,我会发布答案。
-
在发现“compose-deploy”尚未全面上市后,我停止了尝试。我现在正在部署一个 Service Fabric 应用程序,并为每个服务选择了“容器”。
-
@AndrewRoth 你有机会接受我的回答吗?现在您有 1 个额外的用户确认了它。
标签: azure docker docker-compose azure-service-fabric