2017-01-25 6 views
2

Windows 2016 Datacenter w/Containersにインストールされた開発クラスタ上の単一ノードに単純なコンテナを配備することはできません。パッケージはデプロイされますが、パーティションのステータスは常に「ビルド中」です。以下に、アプリケーションマニフェストとサービスマニフェストを含めました。サービスファブリックのWindowsゲストコンテナをホストする

私は、リモートマシンに、次のコマンドを使用して手動でコンテナを実行することができます:

docker run --name nanoiis -d -it -p 80:80 nanoserver/iis. 

コンテナが実行されている場合、私はリモートマシンからそれで実行しているIISのインスタンスを取得することができます。文書化されたNATの問題のために、ホストからlocalhostを使用してコンテナにアクセスできません。

ここで、Service Fabricでコンテナを実行する必要があります。私は5.4.145.9494をインストールしました。このバージョンのランタイムでのコンテナのサポートはプレビューになっていますが、この単純な使用例では使用しないでください。

アプリケーションマニフェスト

<?xml version="1.0" encoding="utf-8"?> 
<ApplicationManifest ApplicationTypeName="ContainerSampleType" 
        ApplicationTypeVersion="1.0.0" 
        xmlns="http://schemas.microsoft.com/2011/01/fabric" 
        xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <Parameters> 
    <Parameter Name="IISContainer_InstanceCount" DefaultValue="1" /> 
    </Parameters> 
    <ServiceManifestImport> 
    <ServiceManifestRef ServiceManifestName="IISContainerPkg" ServiceManifestVersion="1.0.0" /> 
    <Policies>  
     <ContainerHostPolicies CodePackageRef="Code">   
     <PortBinding ContainerPort="80" EndpointRef="IISContainerTypeEndpoint"/>   
     </ContainerHostPolicies> 
    </Policies> 
    </ServiceManifestImport> 
    <DefaultServices> 
    <Service Name="IISContainer"> 
     <StatelessService ServiceTypeName="IISContainerType" InstanceCount="[IISContainer_InstanceCount]"> 
     <SingletonPartition /> 
     </StatelessService> 
    </Service> 
    </DefaultServices> 
</ApplicationManifest> 

サービスマニフェスト

<?xml version="1.0" encoding="utf-8"?> 
<ServiceManifest Name="IISContainerPkg" 
       Version="1.0.0" 
       xmlns="http://schemas.microsoft.com/2011/01/fabric" 
       xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <ServiceTypes> 
    <StatelessServiceType ServiceTypeName="IISContainerType" UseImplicitHost="true" /> 
    </ServiceTypes> 
    <CodePackage Name="Code" Version="1.0.0"> 
    <EntryPoint> 
     <ContainerHost> 
     <ImageName>nanoserver/iis:latest</ImageName>   
     </ContainerHost> 
    </EntryPoint> 
    </CodePackage> 
    <ConfigPackage Name="Config" Version="1.0.0" /> 
    <Resources> 
    <Endpoints> 
     <Endpoint Name="IISContainerTypeEndpoint" UriScheme="http" Protocol="http" Port="80"/> 
    </Endpoints> 
    </Resources> 
</ServiceManifest> 

答えて

1

私はあなたの問題は、デフォルトMSの画像が明示的に要求しないポート80 ASFを公開していないという事実から来ていると思いますこの(atm)

あなた自身のように簡単に追加してください:

FROM nanoserver/iis 
EXPOSE 80 

ドッカーハブまたは自分のレジストリにプッシュします。

ブログ投稿hereを読むと、ASF上で実行される単純なIISコンテナを取得できます。 hereのポストを読んでトラブルシューティングを行ってください。

+0

明示的にポートを公開することは、そのトリックでした。ありがとう! – CJL

関連する問題