初めてSitecoreインスタンスを起動してください

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

このトピックでは、最小限の設定で箱から出したSitecore Experience Platform - Single(XP0) インスタンスを素早く稼働させる方法を示しています。

!注このトピックではシンプルにするためにSitecore Experience Platform - Single(XP0) 構成を使用していますが、どの設定でも同じ方法で開始できます。

各SitecoreトポロジーのDocker ComposeファイルはSitecoreダウンロードページからダウンロードできるSitecore Container Deployment Packageに含まれています。

このトピックは、ローカル環境がWindows上でDockerで開発できるように設定されていることを前提としています。詳細は 環境設定 をご覧ください。Windowsコンテナに切り替えていることを確認してください。

有効なSitecoreライセンスファイルも持っている必要があります。

!重要デフォルトのSitecoreコンテナ構成は特定のポートを使用しています。競合を避けるために、以下のポートが他のプロセスで使用されていないことを確認してください

、8079、8081、8984、14330。

Dockerのトラブルシューティング アドバイスも利用可能です。

Sitecoreコンテナ展開パッケージ

Sitecoreコンテナデプロイメントパッケージには以下のファイルが含まれています:

  • docker-compose.yml および .env : Docker Compose ファイルの種類。これらはバニラSitecoreインスタンスを起動するために必要な主要なファイルです。
  • mssql-datasolr-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)に使います。

環境変数は、設定設定をコンテナに渡す推奨される方法です。 docker-compose.ymlファイルでSitecoreコンテナでどのように使われているかを見ることができます。例えば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
    "

値は変数置換(${SQL_SA_PASSWORD})を用いて .envファイルから取得されます。

!注SQL Server SAのパスワードはSQL Serverのパスワードポリシー 要件を満たす必要があります。そうでなければ、SQL Serverコンテナが正しく動作しない可能性があります。

調理

コンテナパッケージには、以下の準備ステップを自動的に実行するcompose-init.ps1スクリプトが含まれています:

  • Sitecoreライセンスファイルを圧縮します
  • アイデンティティサーバートークン署名証明書を作成します
  • .envファイルを埋める
  • TLS/HTTPS証明書を生成します
  • ルート証明書をあなたの信頼ルート認証機関にインストールします
  • Windowsホスト名を更新します。

!注すでにTraefikの証明書をTraefikフォルダにインストールしている場合、スクリプトは新しい証明書をインストールしません。

このスクリプトを実行するには:

  1. PowerShell管理者プロンプトを開きます。 compose-init.ps1ファイルを含むフォルダに移動します。

  2. -LicenseXmlPathパラメータでSitecoreライセンスファイルの場所を指定する次のコマンドを実行します。

    .\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ファイルと同じフォルダ内で以下のコマンドを実行してください:

    docker compose up -d

このコマンドは以下の通りです:

  • Sitecoreコンテナレジストリから必要なすべてのイメージをダウンロードします。
  • デフォルトのネットワークを作成します。
  • 構成された各サービスごとにコンテナを作成します。
  • コンテナは設定されたエントリーポイントからスタートします。

!注 -d (切り離したモード)は、Dockerにバックグラウンドでコンテナを起動し、そのまま実行させておくよう指示します。これを省略すると、コンテナログが出力にストリーミングされ、プロンプトに戻るにはCtrl``+Cと入力する必要があります。これを行うとコンテナも停止し、削除されます。

このガイドで使われる他の一般的なコマンドの簡単な参照については、Sitecore Dockerチートシートをご覧ください。

ランニングコンテナを見る

作成したコンテナを見るには:

  • docker psコマンドを実行してください:

    docker ps

この場合は、状態がUpで示されたすべての稼働中のコンテナのリストが表示されます。また、コンテナID、使用されている画像、コンテナが露出しているポートも確認できます。

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 75684e9146f2 traefik

.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
.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
.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
.2.0-ltsc2019 "C:\\LogMonitor\\LogMo…" 21 seconds ago Up 12 seconds (healthy) sitecore-xp0_xdbautomationworker_1 b4279d4f6de7 scr.sitecore.com/sxp/sitecore-id6
.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
.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
.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
.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
.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://xp0cm.localhost)を使ってHTTPSプロトコルでアクセスします。

他の公開コンテナは特定のポートを使用するよう事前に設定されています(docker-compose.ymlファイルのportsを参照)。WindowsのDocker Desktopのデフォルト設定では、これらのポートにはlocalhostでアクセスできます。

つまり、Sitecore Experience Platform - Single(XP0) コンテナに以下のようにアクセスできます:

SQL Serverへの接続について

ポートを使ってSQL Serverに接続すると、構文が少し異なります。前述のようにコロン(:))ではなく、カンマ(,)を使う必要があります。認証SQL Serverは*、SA*アカウントと.envファイルで指定したSQL_SA_PASSWORD値(compose-init.ps1ファイルではデフォルトでPassword12345)を使って接続できます:

The Connect to Server dialog.

スキーマのポピュレートとインデックスの更新

Sitecoreコンテナ環境には、起動時に動作し、必要なコアをSolrコンテナに生成し(もし存在していなければ)、そして終了するsolr-initコンテナが含まれています。これが期待される動作です。

ただし、このコンテナはSolr管理スキーマや再構築インデックスを埋めることはできません。手動またはカスタムスクリプトで行う必要があります。これをしないと、コンテナログでSolr関連のエラーを確認できます。

管理スキーマとインデックスの更新を埋めるために:

  1. Sitecoreにログインして admin。
  2. コントロールパネルを開き、すべての検索インデックスの管理スキーマを入力してください。
  3. コントロールパネルにいる間に検索インデックスを再構築してください。

自分の事例を検証してください

あなたの例を検証するために:

  1. https://xp0cm.localhostでSitecoreデフォルトのウェブサイトをご覧ください。

  2. https://xp0cm.localhost/sitecoreを閲覧して、Sitecoreにログインできるか確認してください。ユーザー名はadmin、パスワードは.envファイル(compose-init.ps1ファイルではデフォルトでPassword12345)で設定したSITECORE_ADMIN_PASSWORDの値を使います。

  3. 以下のコマンドでログを確認し、すべてのコンテナからのログを確認してください:

    docker compose logs -f --tail 20

    -f(または--follow)オプションはDockerに出力をストリーミングするよう指示し、--tailオプションは各コンテナの最後の20行に初期ログ出力を制限します。ログはコンテナの前置き辞で付けられているのがわかります。

  4. 終わったらCtrl+Cと入力してプロンプトに戻ってください。

Sitecoreを止めろ

Sitecoreインスタンスを停止するには:

  • 次のコマンドを実行します:

    docker compose stop

    これで容器は止まりますが、取り外されるわけではありません。その後、容器をdocker compose startで再開できます。

  • 容器を止めて取り出す方法:

    docker compose down

    これによりコンテナは停止しますが、同時にコンテナや作成されたネットワークも削除されます。

  • 容器を停止・削除し、画像も削除するには:

    --rmi <all/local>を加えます。

開発ワークフローはこれらのコマンドの組み合わせを含みます。コマンドはトポロジーによりますが比較的速いです。

永続的なストレージのクリーンアップ

現在、mssql-datasolr-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スクリプトを使うこともできます。

ファイルを削除するには:

  1. getting-startフォルダでPowerShell管理者プロンプトを開きます。

  2. 次のコマンドを実行します:

    .\clean.ps1

さらなる参考文献

この記事を改善するための提案がある場合は、 お知らせください!