---
title: "Sitecore Commerce Container SDK"
slug: "sitecore-commerce-container-sdk"
abstract: "Sitecore Experience Commerceコンテナソフトウェア開発キットの内容を説明します。"
---
# Sitecore Commerce Container SDK

Sitecore Commerce Container SDKは、コンテナ化されたCommerceソリューションを扱うための開発者の出発点を提供します。

SDKパッケージには、Dockerファイル、環境変数ファイル、Docker compose YAMLファイル、Kubernetes YAMLファイル、そして使用・修正可能なサンプルスクリプトなどのリソースが含まれています。

-   コンテナを使って開発者ワークステーションにSitecore XCをインストールしてください。
-   Sitecore Experience Commerce(XC)コンテナをAzure Kubernetesサービスに展開します。
-   [カスタマイズされたCommerceソリューションから独自のコンテナセットを構築しましょう。](https://doc.sitecore.com/xp/ja/developers/100/sitecore-experience-commerce/workflow-for-creating-custom-commerce-container-images.html "Workflow for creating custom Commerce container images")

Sitecore.Commerce.Container.SDK.\*.ZIPパッケージおよびサポートするインストールガイドは[Sitecore Downloads](https://dev.sitecore.net/Downloads/Sitecore_Commerce.aspx)のウェブサイトで入手可能です。

## Sitecore Commerce Container SDKの構造

Sitecore.Commerce.Container.SDK.\*.ZIPパッケージは複数のフォルダに分かれており、特定のトポロジーでSitecore XCをデプロイするために必要なアーティファクトを含むものもあれば、複数の構成で共有される共通ファイルを含むフォルダもあります。

最上位では、Sitecore.Commerce.Container.\*.ZIPパッケージには以下のフォルダが含まれています:

フォルダ名

概要

*K8S-Commerce-XC1*

Kubernetes XC1展開トポロジーに必要なファイルを含みます。

*文字*

Dockerを使ったSitecore Experience Commerceコンテナ画像の作成を促進するサポートスクリプトとJSONファイルのセットを例として含んでいます。  
  
また、各スクリプトの目的を説明するREADMEファイルも含まれています。

*XC0*

XC0トポロジーでSitecore XCインスタンスを構築・実行するためのファイルが含まれており、Commerce Engineのデプロイ専用です。  
  
\> \[!注\]  
\> 開発者向けワークステーション用のXC0トポロジーには、SXAストアフロントやサポートモジュール用のコンテナイメージは含まれていません。  
\> SXAストアフロントをサポートするために必要なモジュールを含む展開には、XC1-CXAトポロジーをインストールする必要があります。

*XC1*

Sitecore XC1トポロジーイメージを構築するために使用されたファイルが含まれています。XC1トポロジーは、SXA Storefrontをサポートするモジュールを除外したスケール型デプロイメント用です。このトポロジーは、SXA Storefrontを使わないスケールされたCommerce Engineのみのデプロイで使用されます。  
  
\> \[!注\]  
\> Sitecore Commerce Container SDKには、XC1トポロジーのコンテナイメージを展開するために必要なすべてのDocker YAML(YAML)ファイルを構成するものは含まれていません。

*XC1-CXA*

XC1トポロジーでSitecore XCインスタンスを構築し実行するために必要なファイルを含みます。このデプロイメントトポロジーにはSXA Storefrontが含まれます。

*XC-コモン*

共通Sitecore XC画像を作成するために必要なファイルが含まれています。  
  
\> \[!注\]  
\>共通像はすべてのSitecore XC位相で使用されます。

### xc-commonフォルダー

xc-commonフォルダには、SDKに含まれるすべてのデフォルトの展開トポロジーに共通するSitecore XCイメージを構築するために必要なすべてのファイルが含まれています。

以下はxc-commonフォルダー構造の例です:

-   XC-コモン
    -   \[サービス\]
        -   Dockerfile
        -   \[...\]
    -   .env
    -   docker-compose.build.yml

#### サービスフォルダー

それぞれserviceフォルダー:

-   コンテナを表す
-   最低でも Dockerfileを含みます。
-   Docker Composeファイル内の対応するサービスのDockerビルドコンテキストとして使用されます。

#### Docker compose build YAMLファイル

docker-compose.build.ymlファイルは、XC0およびXC1の展開トポロジーで使用される以下のサービスのイメージビルドを定義しています。

> !注このフォルダ内の画像は、xc0 、xc1、xc1-cxaフォルダにある画像より先に構築しなければなりません。

-   id
-   bizfx
-   engine

### xc0フォルダ

xc0フォルダには、XC0トポロジーイメージの構築と実行に必要なすべてのファイルSitecore含まれています。

以下はxc0フォルダー構造の例を示しています:

-   XC0
    -   \[サービス\]
        -   \[...\]
    -   \[...\]
    -   .env
    -   docker-compose.build.yml
    -   docker-compose.yml

#### サービスフォルダー

それぞれserviceフォルダー:

-   コンテナを表しています。
-   Docker Composeファイル内の対応するサービスのDockerビルドコンテキストとして使用されます。

#### docker compose build YAMLファイル

docker-compose.build.ymlファイルは以下のサービス向けに画像構築を定義しています:

-   mssql non-production
-   solr non-production
-   cm
-   xconnect
-   xdbsearchworker
-   xdbautomationworker

docker-compose.ymlにはXC0インスタンスに必要なすべてのコンテナに関する情報が含まれています。

### xc1フォルダ

xc1フォルダにはXC1トポロジーイメージを構築するために必要なすべてのファイルが含まれています。

以下はxc1フォルダー構造の例を示しています:

-   XC1
    -   \[サービス\]
        -   \[...\]
    -   \[...\]
    -   .env
    -   docker-compose.build.yml

#### サービスフォルダー

それぞれserviceフォルダー:

-   コンテナを表しています。
-   Docker Composeファイル内の対応するサービスのDockerビルドコンテキストとして使用されます。

#### docker compose build YAMLファイル

docker-compose.build.ymlファイルは以下のサービス向けに画像構築を定義しています:

> !注このフォルダ内の画像は、xc1-cxaフォルダに含まれる画像よりも先に構築する必要があります。

-   mssql non-production
-   mssql-init
-   solr non-production
-   solr-init
-   rep
-   xdbcollection
-   prc
-   cm
-   cd
-   xdbsearch
-   xdbsearchworker
-   xdbautomation
-   xdbautomationworker

### xc1-cxaフォルダ

xc1-cxaフォルダには、XC1トポロジーイメージの構築と実行に必要なすべてのファイルが含まれており、SXAストアフロントも含まれています。

以下はxc1-cxaフォルダー構造の例を示しています:

-   XC1
    -   \[サービス\]
        -   \[...\]
    -   \[...\].env commerce.build.yml docker-compose.build.yml docker-compose.yml

#### サービスフォルダー

xc1-cxaフォルダ内には、それぞれserviceフォルダがあります:

-   コンテナを表しています。
-   最低でも Dockerfileを含みます。
-   Docker Composeファイル内の対応するサービスのDockerビルドコンテキストとして使用されます。

#### CommerceビルドYAMLファイル

commerce.build.ymlファイルは、以下のサービス向けにCommerce画像を構築することを定義しています。

#### docker compose build YAMLファイル

docker-compose.build.ymlファイルは以下のサービス向けに画像構築を定義しています:

-   mssql non-production
    
-   mssql-init
    
-   solr non-production
    
-   solr-init
    
-   cd
    
-   cm
    
    > cmcd[画像にはSitecore PowerShell Extensions(SPE)](https://doc.sitecorepowershell.com/)[とSitecore Experience Accelerator(SXA)が含まれています](https://doc.sitecore.com/developers/sxa/100/sitecore-experience-accelerator/en/index-en.html)
    

#### dockerのcompose YAMLファイル

docker-compose.ymlファイルには、XC1インスタンスに必要なすべてのコンテナに関する情報が含まれています。

### スクリプトフォルダ

このscriptsフォルダーには、Dockerを使ってSitecore Experience Commerceコンテナイメージを作成するためのサポートスクリプトやJSONファイル群が含まれています。

以下の表は、scriptsフォルダーの内容を一覧かつ簡単に説明しています。

> !注詳細については、scriptフォルダに含まれるreadme.mdファイルをご参照ください。スクリプトファイル自体にも追加情報やガイダンスが注釈されています。

ファイル

概要

CleanContainerCache.ps1

Dockerコンテナイメージキャッシュをクリーンアップするために使われるスクリプト。コンテナイメージキャッシュは、レジストリからコンテナイメージを取得する必要があるすべての操作を迅速化するために使われます。コンテナイメージキャッシュを使用するDockerコマンドの例には、 docker pull、 docker-compose up、 docker-compose buildがあります。

ContainerBuild.ps1

docker-compose.build.ymlファイルの内容に基づいてコンテナ画像を作成するために使われるスクリプトです。結果は「latest」タグ付きのコンテナ画像です。

ContainerTag.ps1

提供されたタグ値に基づいてコンテナ画像にタグ付けするためのスクリプトです。

PrepContainerBuild.ps1

Sitecore Experience Commerceリリースパッケージのアーティファクトをソースコードディレクトリ構造に拡張するスクリプトです。

UpdateEnvTag.ps1

コンテナイメージのレジストリ、名前空間、プロジェクト、タグを設定するスクリプトです。

UpdateEnvCompose.ps1

提供された値を入力したファイル /topology/.env を更新するスクリプト。

UpdateK8SYaml.ps1

configltsc2019.jsonファイルの値でKubernetesシークレットファイルを設定するスクリプトです。KubernetesはWindows LTSC 2019環境でのみサポートされています。

ScriptSupport.psm1

他のスクリプトファイルで使われるサポート機能を含むスクリプト。

WDPMapping.json

PrepContainerBuild.ps1スクリプトで使用されるファイルです。このファイルには、リリースパッケージのアーティファクトの内容をdocker-compose buildコマンドを実行する際に使う適切な場所に配置するためのマッピング情報が含まれています。

configltsc2019.json  
  
および  
  
config1909.json

更新スクリプトが UpdateEnvTag.ps1、 UpdateEnvCompose.ps1、 UpdateK8SYaml.ps1 で使用するファイルは、 .env ファイルや yml ファイルのトークンを上書きまたは置き換えするために使われます。これにより、ビルドや実行プロセスで使用するためにファイルをカスタマイズできます。

FakeLicenseFile.txt

偽のライセンスを含むファイル。

#### WDPマッピング

WDPMapping.jsonファイルには、Sitecore XCリリースパッケージに含まれるWDPパッケージを適切なフォルダ構造に配置するためのマッピング情報が含まれており、Docker composeビルドプロセスで使用されます。

WDPMapping.jsonはPrepContainerBuild.ps1文字で使われます。

以下のマッピング例では、リストされたWDPパッケージ内の"Content/Website"フォルダの内容が Sitecore.Commerce.Container.SDKフォルダ内の宛先フォルダxc1-cxa/cd/wdpコピーされます。

> !注WDPMapping.jsonは、最も排他的なパッケージ名を持つWDPから始まり、最も排他的なパッケージ名で終わる類似した名前のWDPをリストアップしています。

{
 "WDPs": 
 "Sitecore Commerce Experience Accelerator Storefront Themes",
 "Sitecore Commerce Experience Accelerator Storefront",
 "Sitecore Commerce Experience Accelerator"
 ,
 "DestinationFolder": "xc1-cxa/cd/wdp",
 "ToCopyFolder": "Content/Website"
}

以下の例では、リストWDPパッケージ内の.dacpacファイルがSitecore.Commerce.Container.SDKフォルダ内のxc1-cxa/mssql/dacpacs宛先フォルダにコピーされます。宛先フォルダ内のmaster、core、webに一致する.dacpacファイルは、それぞれSitecore.Master、Sitecore.Core、Sitecore.Webに名前が変更されます。

{
 "WDPs": 
 "Sitecore Commerce Experience Accelerator Habitat Catalog",
 "Sitecore Commerce Experience Accelerator Storefront Themes",
 "Sitecore Commerce Experience Accelerator Storefront",
 "Sitecore Commerce Experience Accelerator"
 ,
 "DestinationFolder": "xc1-cxa/mssql/dacpacs",
 "ToCopyFiles": "\*.dacpac",
 "NameMappings": 
 {"Name":"master", "NewName":"Sitecore.Master"},
 {"Name":"core", "NewName":"Sitecore.Core"},
 {"Name":"web", "NewName":"Sitecore.Web"}
 
}