最初のSitecoreインスタンスを実行する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このトピックでは、最小限の設定ですぐに使用できるSitecore Experience Platform - Single (XP0) インスタンスをすばやく稼働させる方法を示します。
このトピックでは、わかりやすくするためにSitecore Experience Platform - Single (XP0) 構成を使用しますが、同じ方法を使用して任意の構成を開始できます。
各SitecoreトポロジのDocker Composeファイルは、Sitecoreダウンロード ページからダウンロードできるSitecore Container Deployment Packageに含まれています。
このトピックでは、ローカル環境がWindows上のDockerを使用して開発するように設定されていることを前提としています。詳細については、「 環境設定 」を参照してください。Windowsコンテナーに切り替えたことを確認します。
また、有効なSitecoreライセンス ファイルも必要です。
デフォルトのSitecoreコンテナ設定では、特定のポートが使用されます。競合を回避するには、ポート443、8079、8081、8984、および14330が別のプロセスによって使用されていないことを確認してください。
Troubleshooting Dockerアドバイスも利用できます。
Sitecoreコンテナ デプロイメント パッケージ
Sitecore Container Deploymentパッケージには、次のファイルが含まれています。
-
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コマンドで使用されるメイン構成ファイルです。これには、さまざまなコンテナ ( servicesと呼ばれます) とその設定に関する情報が含まれています。
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のダウンロード ページにあるSitecore XP 10.2.0 Developer Workstation Deployment with Dockerガイドで説明されています。
Sitecoreを起動します
Sitecoreを起動するには:
-
Composeファイルと同じフォルダで次のコマンドを実行します。
RequestResponsedocker compose up -d
このコマンドは、次の処理を行います。
-
必要なすべてのイメージをSitecore Container Registryからダウンロードします。
-
使用するデフォルトのネットワークを作成します。
-
構成された各サービスのコンテナを作成します。
-
構成されたエントリポイントでコンテナを起動します。
-d (detached mode) は、コンテナをバックグラウンドで起動し、実行したままにしておくように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プロトコルを使用して、設定されたホスト名 (ex 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に接続する場合、構文は少し異なります。前に示したように、コロン (:) の代わりにコンマ (,) を使用する必要があります。SQL Server Authenticationには、saアカウントと .envファイルのSQL_SA_PASSWORDに指定した値 (compose-init.ps1ファイルではデフォルトでPassword12345) を使用して接続できます。

スキーマの設定とインデックスの更新
Sitecoreコンテナー環境には、起動時に実行され、必要なコアをSolrコンテナーに作成 (まだ存在しない場合) してから終了するsolr-initコンテナーが含まれています。これは想定される動作です。
ただし、このコンテナーはSolrマネージド スキーマにデータを格納したり、インデックスを再構築したりしません。これは、手動で行うか、カスタムスクリプトを使用して行う必要があります。これを行わないと、コンテナログにSolr関連のエラーが表示されます。
マネージド スキーマを設定し、インデックスを更新するには:
-
adminとしてSitecoreにログインします。
-
Control Panelを開き、すべての検索インデックスの管理スキーマを設定します。
-
Control Panelで、検索インデックスを再構築します。
インスタンスを確認する
インスタンスを検証するには:
-
https://xp0cm.localhostを参照して、Sitecore既定のWebサイトを表示します。
-
https://xp0cm.localhost/sitecoreを参照し、Sitecoreにログインできることを確認します。User Nameにはadminを使用し、Passwordの .envファイル のSITECORE_ADMIN_PASSWORDに指定した値 (compose-init.ps1ファイルではデフォルトでPassword12345) を使用します。
-
次のコマンドでログを見て、すべてのコンテナのログを確認します。
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スクリプトを使用することもできます。
ファイルを削除するには:
-
でPowerShell管理者プロンプトを開きます。 getting-started folder.
-
次のコマンドを実行します。
RequestResponse.\clean.ps1