Sitecore Dockerチートシート
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
公式のDockerドキュメント は非常に優れていますが、ナビゲートするのが難しい場合があります。このトピックでは、ローカル開発環境でDockerを使用してSitecoreを管理するための最も便利なコマンドをいくつか紹介します。
この例では、コマンド シェルとしてPowerShellを使用することを前提としています。
一般的なコマンド
一般的なコマンド
これらのコマンドは、Docker自体に関するさまざまな情報を表示します。
-
使用可能なすべてのコマンドを一覧表示するには:
特定のコマンドの詳細情報を表示するには、次の --helpを使用します。
-
Docker環境 (バージョン、ルート ディレクトリ、既定の分離モードなど) の概要情報を表示するには、次のようにします。
画像を管理する
画像を管理する
次のコマンドを使用して、イメージを管理します。
-
画像を一覧表示するには ( -aを使用して中間画像を含めるには):
--formatオプションを使用して結果を書式設定できます。有効なプレースホルダーのリストについては、Dockerのドキュメントを参照してください。
-
画像を削除するには:
<image>は、画像IDまたはフルネームのいずれかです。IDは、一意に識別するために最小限の文字数のみを必要とします。たとえば、次のイメージ リストがあるとします。
これらの3つのコマンドはすべて、nanoserver イメージを削除します。
-
すべての画像を削除するには:
より選択的にするには、画像リストの書式設定とfindstrを組み合わせて使用します。たとえば、特定の名前またはタグを持つすべての画像を削除するには、次のようにします。
-
画像を検査するには:
これにより、次のような画像の詳細情報が表示されます。
-
ID: 画像の完全な一意識別子。
-
WorkingDir: イメージでインタラクティブ シェルを実行するときにいるフォルダー。これは、独自のカスタマイズで画像を拡張する場合に使用します。
-
エントリポイント: このイメージをコンテナで実行するときのデフォルトのエントリポイント。これは、オーバーライドが可能なDocker Composeでイメージを使用する場合に役立つ情報です。
-
VirtualSize: 画像のサイズ (バイト単位)。
出力を フォーマットできます。
-
コンテナを管理する
コンテナを管理する
次のコマンドを使用して、コンテナを管理します。
-
コンテナを一覧表示するには (停止したコンテナを含めるには -aを使用します):
-f (または --filter) オプションを使用して結果をフィルタリングできます。たとえば、実行中のSitecore CMイメージのみを表示するには、次のようにします。
--formatオプションを使用して結果を書式設定できます。有効なプレースホルダーのリストについては、Dockerのドキュメントを参照してください。
-
コンテナを削除するには ( -vを使用してボリュームも削除します):
イメージと同様に、<container> はコンテナID (フルネームまたはパーシャル) またはフルネームのいずれかです。
-
停止しているすべてのコンテナを削除するには:
(実行中のコンテナも削除するには、--forceを追加します。
-
コンテナを検査するには:
これにより、次のようなコンテナの詳細情報が表示されます。
-
ID - コンテナの完全な一意識別子。
-
Image - コンテナが実行しているイメージ。
-
NetworkSettings - ポート、IPAddress、およびエイリアスを含むネットワーク情報。
-
LogPath - コンテナのログファイルへのファイルシステムパス。
-
Volumes - ホストシステムとコンテナ間のボリュームマッピングを表示します。
-
WorkingDir - これは、コンテナでインタラクティブシェルを実行するときにドロップされる場所です。
出力を書式設定できます。
-
-
コンテナを個別に開始および停止するには:
ただし、Sitecoreを使用して開発する場合は、通常、複数のコンテナーがあり、Docker Composeを使用してコンテナーを開始および停止します。
-
コンテナとローカルファイルシステム間でファイルをコピーするには:
たとえば、ファイルをコンテナにコピーするには、次のようにします。
または、コンテナからフォルダをコピーするには、次のようにします。
メモこのためには、コンテナがプロセス分離で実行されている必要があります。Hyper-Vコンテナを使用したファイルシステム操作はサポートされていません。
-
ログを表示するには:
ログ出力は、-f (または --follow) を使用してストリーミングできます。
「 Ctrl+C 」と入力して終了します。
ほとんどのコンテナは大量のエントリを生成するため、--tailまたは --untilオプションを使用して量を制限できます。たとえば、最新の20個のログエントリのみを表示するには、次のようにします。
結果の書式設定
結果の書式設定
Dockerコマンドの多くには、結果を書式設定するための --formatまたは -fオプションが用意されており、表示用に出力を書式設定したり、他のスクリプトに渡したりすることもできます。書式指定文字列はGoテンプレートに従います。
inspectコマンドの場合、出力データはすでにJSON形式であるため、データ構造は単純です。
次に例を示します。
-
コンテナのイメージ名を取得するには:
-
コンテナのIPアドレスを取得するには:
listコマンドからの出力は、表形式です。Dockerのドキュメント ( イメージについてはこちら、コンテナについてはこちらを参照) に利用可能なプロパティの詳細が記載されていますが、次のように出力をJSONとしてフォーマットすることもできます。
-
カスタム画像リストを表示するには:
-
カスタムコンテナリストを表示するには、tableディレクティブを使用します。
イメージでインタラクティブシェルを開く
イメージでインタラクティブシェルを開く
Windowsイメージ内で対話型シェル プロンプトを開くことができます。 powershellは、それをサポートする画像でのみ使用できます。省略すると、デフォルトのcmdシェルが使用されます。
「 exit 」と入力すると、コンテナから前のシェルセッションに戻ります。
これにより、新しいコンテナ(run)が起動し、インタラクティブシェル(-it)に入り、終了後にコンテナが破棄されます(--rm)。
これは、デフォルトのENTRYPOINTによっては、すべての画像で機能するわけではありません。その場合は、detached モードで実行します。
次に、実行中のコンテナでインタラクティブシェルを実行します。
コンテナ内のインタラクティブシェルを開く
コンテナ内のインタラクティブシェルを開く
次を使用して、実行中のWindowsコンテナ内で対話型シェル プロンプトを開くことができます。 powershellは、それをサポートするコンテナでのみ使用できます。
「 exit 」と入力すると、コンテナから前のシェルセッションに戻ります。
リソースのクリーンアップ
リソースのクリーンアップ
Dockerは、未使用のリソースを自動的に削除しません。そのため、不要なリソースが時間の経過とともに蓄積され、ディスク領域を使い果たす可能性があります。
この問題を解決するための最も便利なコマンドは次のとおりです。
デフォルトでは、続行するように求められます。バイパスするには、-f (または --force) オプションを使用します。
このコマンドは、次のものを削除します。
-
すべての停止したコンテナ。
-
少なくとも1つのコンテナで使用されていないすべてのネットワーク。
-
すべての未解決の画像 (タグが付けられておらず、どのコンテナーによっても参照されていません)。
-
すべてのビルド キャッシュ。
このデフォルトは、通常、いつでも安全に使用できます。次のオプションを追加して、より積極的にすることができます。
-
--volumes - 少なくとも1つのコンテナで使用されていないすべてのボリュームを削除します
-
-a (または --all)- 少なくとも1つのコンテナが関連付けられていないすべての画像を削除します
個々のDockerオブジェクト (イメージ、コンテナなど) ごとにpruneつのコマンドがありますが、使用頻度は低くなります。詳細については、Dockerのドキュメント を参照してください。
Docker Composeを使用する
Docker Composeを使用する
これらのコマンドは、Composeファイルの場所から実行します。彼らはあなたのComposeファイルの名前がdocker compose.ymlであると仮定しています。また、そのようなファイルが存在する場合は、追加のdocker compose.override.ymlも自動的にロードされます。
Composeファイルに別の名前が付けられている場合は、-fフラグを使用して明示的に指定します。
必要な数のファイルを指定できます。Composeは、順序に基づいてそれらを1つの構成に結合し、後続のファイルをオーバーライドまたは追加します。
集計結果はconfigを使用して表示できます。例えば:
これは、結合された作成ファイル、.envなど、解決されたアプリケーション構成を示しています。また、1つ以上のサービスの名前を追加することもできます。これにより、個々のサービスまたはコンテナをターゲットにすることができます。たとえば、次のComposeファイルがあるとします。
idコンテナとcmコンテナだけrestartできます。
-
コンテナを作成して起動するには:
これにより、Compose構成で定義したすべてのサービスのコンテナが作成され、実行されます。
-d (detached mode) は、コンテナをバックグラウンドで開始し、実行したままにします。これを省略すると、コンテナ ログが出力にストリーミングされるため、プロンプトに戻るには「Ctrl+C」と入力する必要があります。これにより、コンテナも停止して削除されます。
-
コンテナを停止するには:
これにより、コンテナは停止しますが、コンテナは削除されません。
-
コンテナを起動するには:
これにより、以前に停止した既存のコンテナが開始されます。
-
コンテナを再起動するには:
これにより、停止して実行中のすべてのコンテナが再起動されます。
-
コンテナを停止して削除するには:
これにより、すべてのコンテナが適切に停止し、すべてのコンテナが停止すると、コンテナが削除されます。 upによって作成されたネットワークもすべて削除されます。 -vを使用してボリュームを削除します。
-
コンテナを一覧表示するには:
代わりに、--servicesオプションを使用してサービスの名前をリストできます。停止したコンテナを含めるには、-aを使用します。
-
イメージをビルドするには:
これにより、buildを定義するすべてのサービスのイメージがビルドおよび作成されます。
--buildオプションは、upで使用できます。これにより、最新のコードでコンテナが再構築され、実行されます。
-
ログを表示するには:
これにより、すべてのコンテナのログが表示されます。 --tailオプションを使用して、行数を制限し、特定のコンテナをフィルタリングできます。たとえば、cmコンテナとxconnectコンテナから最新の20個のログエントリのみを表示するには、次のようにします。
ログ出力は、-f (または --follow) オプションを使用してストリーミングすることもできます。
「 Ctrl+C 」と入力して終了します。