簡體   English   中英

部署到 Service Fabric 時,如何在 docker-compose 文件中設置有效的 ServiceDnsName?

[英]How do I set a valid ServiceDnsName in my docker-compose file when deploying to Service Fabric?

我正在嘗試將 Visual Studio Team Services 中的 CI/CD 從 docker-compose 文件配置為 Service Fabric 群集,但在我的發布定義的最后一步中,使用步驟“Service Fabric Compose Deploy”,我得到了錯誤: ##[error]The ServiceDnsName for DefaultService 'myapp' is invalid. . 我正在使用的指南有一個部分說:

如果您在 Compose 文件中指定的服務名稱是完全限定的域名(即包含點 [.]),則 Service Fabric 注冊的 DNS 名稱為 <ServiceName>(包括點)。 如果不是,則應用程序名稱中的每個路徑段將成為服務 DNS 名稱中的域標簽,第一個路徑段將成為頂級域標簽。

例如,如果指定的應用程序名稱是 fabric:/SampleApp/MyComposeApp,則 <ServiceName>.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

在微軟支持的幫助下,我能夠解決這個問題。

應用程序名稱是問題所在。 如果您刪除應用程序名稱的“fabric:/”部分,它對我有用。

這是一個文檔錯誤。 Microsoft 支持將更新文檔

至少現在 VSTS 步驟可以工作並部署到 Service Fabric。 我現在在 Service Fabric 本身中遇到一些錯誤,但這是另一個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM