---
title: "初めてSitecoreインスタンスを起動してください"
slug: "run-your-first-sitecore-instance"
abstract: "このトピックでは、カスタマイズなしでSitecore画像を起動・稼働させる方法を示しています。"
---
# 初めてSitecoreインスタンスを起動してください

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

> !注このトピックではシンプルにするために*Sitecore Experience Platform - Single(XP0)* 構成を使用していますが、どの設定でも同じ方法で開始できます。
> 
> 各SitecoreトポロジーのDocker Composeファイルは[Sitecoreダウンロードページ](https://developers.sitecore.com/downloads/Sitecore_Experience_Platform/104/Sitecore_Experience_Platform_104)からダウンロードできる*Sitecore Container Deployment Package*に含まれています。

このトピックは、ローカル環境がWindows上でDockerで開発できるように設定されていることを前提としています。詳細は [環境設定](https://doc.sitecore.com/xp/ja/developers/103/developer-tools/set-up-the-environment.html "Set up the environment") をご覧ください。Windowsコンテナに切り替えていることを確認してください。

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

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

[Dockerのトラブルシューティング](https://doc.sitecore.com/xp/ja/developers/103/developer-tools/troubleshooting-docker.html "Troubleshooting Docker") アドバイスも利用可能です。

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

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

-   docker-compose.yml および .env : [Docker Compose](https://docs.docker.com/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:1433"

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

> !注SQL Server SAのパスワードは[SQL Serverのパスワードポリシー](https://learn.microsoft.com/en-us/sql/relational-databases/security/password-policy) 要件を満たす必要があります。そうでなければ、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ダウンロードページで](https://dev.sitecore.net/Downloads/Sitecore_Experience_Platform.aspx)ご覧いただけます。
    

## Sitecoreを起動

Sitecoreを始めるには:

-   Composeファイルと同じフォルダ内で以下のコマンドを実行してください:
    
    docker compose up -d
    

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

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

> !注 \-d (*切り離したモード*)は、Dockerにバックグラウンドでコンテナを起動し、そのまま実行させておくよう指示します。これを省略すると、コンテナログが出力にストリーミングされ、プロンプトに戻るにはCtrl\`\`+Cと入力する必要があります。これを行うとコンテナも停止し、削除されます。
> 
> このガイドで使われる他の一般的なコマンドの簡単な参照については、[Sitecore Dockerチートシート](https://doc.sitecore.com/xp/ja/developers/103/developer-tools/sitecore-docker-cheat-sheet.html "Sitecore Docker cheat sheet")をご覧ください。

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

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

-   docker psコマンドを実行してください:
    
    docker 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://xp0cm.localhost](https://xp0cm.localhost))を使ってHTTPSプロトコルでアクセスします。

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

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

-   Sitecore Content Management(cm): [https://xp0cm.localhost](https://xp0cm.localhost)
-   Sitecore アイデンティティサーバー(id): [https://xp0id.localhost](https://xp0id.localhost)
-   Sitecore xConnect サーバー(xconnect): [http://localhost:8081](http://localhost:8081)
-   アパッチ・ソル(solr): [http://localhost:8984](http://localhost:8984)
-   Microsoft SQL Server (mssql): localhost,14330
-   トラエフィク: [http://localhost:8079](http://localhost:8079)

### SQL Serverへの接続について

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

![The Connect to Server dialog.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/developer-tools/images/SSMS-Connection.png)

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

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

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

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

1.  Sitecoreにログインして admin。
2.  **コントロールパネル**を開き、すべての検索インデックスの[管理スキーマを入力](https://doc.sitecore.com/xp/en/developers/102/platform-administration-and-architecture/solr-managed-schemas.html)してください。
3.  **コントロールパネル**にいる間に[検索インデックスを再構築](https://doc.sitecore.com/xp/en/developers/102/platform-administration-and-architecture/rebuild-search-indexes.html)してください。

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

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

1.  [https://xp0cm.localhost](https://xp0cm.localhost)でSitecoreデフォルトのウェブサイトをご覧ください。
    
2.  [https://xp0cm.localhost/sitecore](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-data*と*solr-data*フォルダにファイルがあります。 *traefik*フォルダと同様に、これらはComposeファイル内の [ボリューム](https://docs.docker.com/storage/volumes/) としてマウントされたフォルダです。これらは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

## さらなる参考文献

-   [https://docs.docker.com/compose](https://docs.docker.com/compose)
-   [https://docs.docker.com/docker-for-windows/networking/](https://docs.docker.com/docker-for-windows/networking/)