最初の Sitecore インスタンスの実行
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このトピックでは、最小限の設定ですぐに Sitecore Experience Platform - Single (XP0) インスタンスを立ち上げる方法をご紹介します。
このトピックでは、簡単にするために、Sitecore Experience Platform - Single (XP0) の設定を使用していますが、どのような設定でも同じアプローチで開始することができます。
各 Sitecore トポロジの Docker Compose ファイルは、Sitecore ダウンロード ページからダウンロードできる Sitecore コンテナー デプロイ パッケージに含まれています。
このトピックは、ローカル環境が Windows で Docker を使用して開発するために設定されていることを前提としています。詳細については「環境の設定」を参照してください。Windows コンテナーに切り替えたことを確認してください。
また、有効な Sitecore のライセンス ファイルも必要です。
デフォルトの Sitecore コンテナー設定は特定のポートを使用します。競合を避けるために、次のポートが別のプロセスによって使用されていないことを確認してください: 443、8079、8081、8984、および14330。
Docker のトラブルシューティングアドバイスも可能です。
Sitecore コンテナー デプロイ パッケージ
Sitecore コンテナー デプロイ パッケージには、次のファイルが含まれています。
-
docker-compose.yml
と.env
- Docker Compose のファイルの種類。これらはバニラの Sitecore インスタンスの起動に必要な主要なファイルです。 -
mssql-data
、solr-data
、とtraefik
- Sitecore インスタンス内の Docker コンテナーによって利用されるサポート フォルダ。 -
compose-init.ps1
ヘルパー スクリプト。
これらのそれぞれについては、次のセクションで詳しく説明します。
Docker Compose ファイル
-
docker-compose.yml
この Compose ファイルは、
docker-compose
コマンドが使用するメインの設定ファイルです。異なるコンテナー (サービス と呼ばれる) とその設定に関する情報が含まれています。Sitecore の場合、サービスは通常、トポロジを構成する個々の Sitecore ロール (mssql、solr、id、cm など) を表します。
-
.env
これは環境ファイルです。ここに書かれている値は、Compose ファイルで参照されている環境変数のデフォルト値を提供したり (たとえば、
SITECORE_DOCKER_REGISTRY
、Compose の設定に使用したり (たとえば、COMPOSE_PROJECT_NAME
) します。
環境変数は、構成設定をコンテナーに渡すための推奨される方法です。Sitecore のコンテナーで環境変数がどのように使用されているかは、docker-compose.yml
ファイルで確認できます。たとえば、mssql
サービスでは、SQL Server の SA のパスワード (SA_PASSWORD
) を設定するために環境変数を設定します。
mssql:
isolation: ${ISOLATION}
image: ${SITECORE_DOCKER_REGISTRY}nonproduction/mssql-developer:2017-${SITECORE_VERSION}
environment:
SA_PASSWORD: ${SQL_SA_PASSWORD}
ACCEPT_EULA: "Y"
ports:
- "14330:1433"
この値は、変数置換 (${SQL_SA_PASSWORD}
) を使用して .env
ファイルから取得されます。
準備
コンテナー パッケージには、次の準備手順を自動的に実行する compose-init.ps1
スクリプトが含まれています。
-
Sitecore ライセンス ファイルを圧縮する
-
Identity Server のトークン署名証明書を作成する
-
.env
ファイルに入力する -
TLS/HTTPS 証明書を生成する
-
ルート証明書を信頼されたルート証明機関にインストールする
-
Windows のホスト名を更新する
Traefik 証明書フォルダーにすでに Traefik 証明書がインストールされている場合、スクリプトは新しい証明書をインストールしません。
このスクリプトを実行するには:
-
PowerShell 管理者プロンプトを開きます。
compose-init.ps1
ファイルを含むフォルダーに移動します。 -
次のコマンドを実行し、
-LicenseXmlPath
パラメーターで Sitecore ライセンス ファイルの場所を指定します。RequestResponse.\compose-init.ps1 -Topology "<your_topology>" -LicenseXmlPath "<path_to_the_license_file>" -IdHost <custom_Id_host_name> -CdHost <custom_cd_host_name> -CmHost <custom_cm_host_name> -SitecoreAdminPassword <your_password_for_Sitecore_admin> -SqlSaPassword <your_password_for_sql_sa_user>
注記compose-init.ps1
コマンドに使用できるパラメーターは Sitecore XP 10.2.0 Developer Workstation Deployment with Docker ガイドで説明されています。このガイドは Sitecore ダウンロード ページにあります。
Sitecore の起動
Sitecore を起動するには:
-
Compose ファイルと同じフォルダーで次のコマンドを実行します。
RequestResponsedocker-compose up -d
このコマンドは次のことを行います。
-
Sitecore コンテナー レジストリから必要なすべてのイメージをダウンロードします。
-
使用するデフォルトのネットワークを作成します。
-
設定されたサービスごとにコンテナーを作成します。
-
設定されたエントリ ポイントでコンテナーを起動します。
-d
(デタッチ モード) は、Docker に、バックグラウンドでコンテナーを起動し、実行したままにするよう指示します。これを省略すると、コンテナーのログが代わりに出力にストリームされ、プロンプトに戻るには Ctrl
+C
を入力しなければなりません。これを行うと、コンテナーの停止と削除も行われます。
このコマンドやこのガイドで使われているその他の一般的なコマンドのクイックリファレンスについては、Sitecore Docker クイック ガイド を参照してください。
実行中のコンテナーを表示する
作成したコンテナーを表示するには:
-
docker ps
コマンドを実行します。RequestResponsedocker ps
これは、ステータスがUp で示される、すべての実行中のコンテナーのリストを表示します。また、コンテナー ID、使用されているイメージ、コンテナーが公開されているポートも表示されます。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
75684e9146f2 traefik:v2.2.0-windowsservercore-1809 "/traefik --ping --a…" 7 seconds ago Up 3 seconds (healthy: starting) 80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:8079->8080/tcp sitecore-xp0_traefik_1
67be2b1350e1 scr.sitecore.com/sxp/sitecore-xp0-cm:10.2.0-ltsc2019 "C:\\LogMonitor\\LogMo…" 21 seconds ago Up 11 seconds (healthy) 80/tcp sitecore-xp0_cm_1
e553b6ab0fb5 scr.sitecore.com/sxp/sitecore-xp0-cortexprocessingworker:10.2.0-ltsc2019 "C:\\LogMonitor\\LogMo…" 21 seconds ago Up 11 seconds (healthy) sitecore-xp0_cortexprocessingworker_1
8d40d14da8a2 scr.sitecore.com/sxp/sitecore-xp0-xdbautomationworker:10.2.0-ltsc2019 "C:\\LogMonitor\\LogMo…" 21 seconds ago Up 12 seconds (healthy) sitecore-xp0_xdbautomationworker_1
b4279d4f6de7 scr.sitecore.com/sxp/sitecore-id6:10.2.0-ltsc2019 "C:\\LogMonitor\\LogMo…" 27 seconds ago Up 21 seconds (healthy) 80/tcp sitecore-xp0_id_1
41418243fd0d scr.sitecore.com/sxp/sitecore-xp0-xdbsearchworker:10.2.0-ltsc2019 "C:\\LogMonitor\\LogMo…" 27 seconds ago Up 20 seconds (healthy) sitecore-xp0_xdbsearchworker_1
6f4e64033031 scr.sitecore.com/sxp/sitecore-xp0-xconnect:10.2.0-ltsc2019 "C:\\LogMonitor\\LogMo…" 27 seconds ago Up 21 seconds (healthy) 0.0.0.0:8081->80/tcp sitecore-xp0_xconnect_1
33931b923acb scr.sitecore.com/sxp/sitecore-xp0-mssql:10.2.0-ltsc2019 "powershell -Command…" About a minute ago Up 56 seconds (healthy) 0.0.0.0:14330->1433/tcp sitecore-xp0_mssql_1
3b362d8ed9a6 scr.sitecore.com/sxp/sitecore-xp0-solr:10.2.0-ltsc2019 "powershell -Command…" About a minute ago Up 56 seconds 0.0.0.0:8984->8983/tcp sitecore-xp0_solr_1
いくつかのステータスが (health: starting)
となっていることに気づくかもしれません。これは、設定されたヘルスチェック (docker-compose.yml
ファイルの healthcheck
を参照) を満たすためにまだウォームアップしていることを意味します。docker ps
コマンドを再度実行すると、最終的にこれらがすべて (healthy)
に変更されているのがわかります。
Sitecore コンテナーへのアクセス
リバースプロキシがサービスを提供するコンテナーには、設定されたホスト名を使って HTTPS プロトコルでアクセスします (例: https://xp0cm.localhost。
公開されている残りのコンテナーは、特定のポートを使用するようにあらかじめ設定されています (docker-compose.yml
ファイルの ports
を参照)。Docker Desktop for Windows のデフォルト設定では、これらのポートに localhost
でアクセスします。
つまり、Sitecore Experience Platform - Single (XP0) のコンテナーには次のようにアクセスできます。
-
Sitecore Content Management (cm): https://xp0cm.localhost
-
Sitecore Identity Server (id): https://xp0id.localhost
-
Sitecore xConnect Server (xconnect): http://localhost:8081
-
Apache Solr (solr): http://localhost:8984
-
Microsoft SQL Server (mssql): localhost,14330
-
Traefik: http://localhost:8079
SQL Server への接続について
ポートを使って SQL Server に接続する場合は、構文が若干異なります。前述のように、コロン ":" の代わりにコンマ "," を使用する必要があります。sa アカウントと .env
ファイルで SQL_SA_PASSWORD
に指定した値 (compose-init.ps1
ファイルではデフォルトで Password12345
) を使用して、SQL Server 認証で接続できます。

スキーマへの入力とインデックスの更新
Sitecore コンテナー環境には、起動時に実行される solr-init
コンテナーが含まれており、Solr コンテナーに必要なコアを作成して (まだ存在していない場合)、終了します。これが期待される動作です。
ただし、このコンテナーはSolrが管理するスキーマを投入したり、インデックスを再構築したりすることはありません。これは、手動またはカスタムスクリプトで行う必要があります。この作業を行わないと、コンテナーのログに Solr 関連のエラーが表示されることがあります。
管理されたスキーマを生成し、インデックスを更新するには:
-
Sitecore に
admin
でログインします。 -
[コントロール パネル] を開き、すべての検索インデックスに管理スキーマを生成します。
-
そのまま [コントロール パネル] で、検索インデックスの再構築を行います。
インスタンスの確認
インスタンスを確認するには:
-
https://xp0cm.localhost を参照すると、Sitecore のデフォルトの Web サイトが表示されます。
-
https://xp0cm.localhost/sitecore にアクセスし、Sitecore にログインできることを確認します。"ユーザー名" には "
admin
" を、"パスワード" には.env
ファイルでSITECORE_ADMIN_PASSWORD
に指定した値(Password12345
はcompose-init.ps1
ファイルのデフォルト) を使用します。 -
次のコマンドでログを調べて、すべてのコンテナーからのログを確認します。
RequestResponsedocker-compose logs -f --tail 20
-f
(または--follow
) オプションは、Docker に出力のストリーム化を指示し、--tail
オプションは、最初のログ出力を各コンテナーの最後の 20 行に制限しています。ログの前にコンテナーのプレフィックスがついているのがわかります。 -
終わったら「
Ctrl+C
」と入力すると、プロンプトに戻ります。
Sitecore の停止
Sitecore インスタンスを停止するには:
-
次のコマンドを実行します。
RequestResponsedocker-compose stop
これによりコンテナーは停止しますが、削除はされません。その後、
docker-compose start
のコマンドで再度開始できます。 -
コンテナーを停止して削除するには:
RequestResponsedocker-compose down
これにより、コンテナーが停止しますが、コンテナーと作成されたネットワークも削除されます。
-
コンテナーを停止して削除し、イメージも削除するには:
--rmi <all/local>
を追加します。
開発ワークフローには、これらのコマンドの組み合わせが含まれます。コマンドは、トポロジに応じて比較的高速です。
永続ストレージのクリーンアップ
mssql-data フォルダーと solr-data フォルダーにファイルが存在するようになりました。これらはtraefik フォルダーと同様に、Compose ファイルで ボリューム としてマウントされたフォルダーです。これらの設定は docker-compose.yml
ファイルで行います。
mssql:
[...]
volumes:
- type: bind
source: .\mssql-data
target: c:\data
solr:
[...]
volumes:
- type: bind
source: .\solr-data
target: c:\data
フォルダーは、mssql サービスのデータ ベース ファイルとsolr サービスのインデックス ファイルの永続的なストレージとして使用されます。つまり、docker-compose down
コマンドを実行しても、データベースとインデックスのデータは残ります。
ただし、Sitecore の管理者パスワードを変更した場合など、新たにスタートしたい場合や、データが古いためにこれらをクリアする必要がある場合もあります。
これらのフォルダー内のファイルを手動で削除するか、clean.ps1
スクリプトを使用することができます。
ファイルを削除するには:
-
getting-started フォルダーで PowerShell 管理者プロンプトを開きます。
-
次のコマンドを実行します。
RequestResponse.\clean.ps1