このページでは、チュートリアルと学習アクティビティのための Cloud Shell 環境としてカスタム Docker イメージを作成して使用する方法について説明します。
カスタム Cloud Shell エクスペリエンスを作成するには、指定した追加のパッケージとカスタム構成を指定して、カスタム Cloud Shell 環境として機能する Docker イメージを作成する必要があります。Docker イメージは、ベースの Cloud Shell イメージに基づいており、Container Registry でホストされている必要があります。
カスタム Docker イメージを作成する
このタスクを Cloud Shell エディタで直接行う際の順を追ったガイダンスについては、[ガイドを表示] をクリックしてください。
次の手順に沿って、独自のカスタム Docker イメージを作成します。
Cloud Shell ターミナルタブで次のコマンドを実行して、Cloud Source Repositories でホストされているリポジトリにボイラープレート カスタム イメージを作成します。
cloudshell env create-custom-image NEW_REPO_NAME
別の方法として、Container Registry に手動でデプロイするか、独自の自動化フローを使用する場合は、新しい空の Dockerfile を作成して、ステップ 3 に進んでください。
コマンドラインに出力された手順に沿って、新しい Dockerfile を開きます。
cd $HOME/NEW_REPO_NAME && cloudshell edit Dockerfile
Cloud Shell エクスペリエンスで使用できるようにする追加のパッケージを、最初の行の下に追加します。次に例を示します。
FROM gcr.io/cloudshell-images/cloudshell:latest RUN apt-get -y install lsof
Dockerfile の最初の行
FROM gcr.io/cloudshell-images/cloudshell:latest
は Cloud Shell のベースイメージを参照しているため、削除しないでください。次のコマンドを実行して、イメージをローカルでビルドします。
cloudshell env build-local
イメージをローカルでテストし、次のコマンドを実行して、インストール済みパッケージが存在することを確認します。
cloudshell env run
テストを終了するには、次のコマンドを実行します。
exit
ローカルでコードの変更を commit します。
git commit -a -m "Initial custom environment check-in."
変更を Cloud Source Repositories に push します。
git push origin master
最後に、カスタム イメージを Container Registry に push します。
cloudshell env push
[Cloud Shell で開く] リンクを更新する
[Cloud Shell で開く] リンクでカスタム イメージを使用するには、最初にそのイメージを公開する必要があります。カスタム イメージを公開する手順については、Container Registry アクセス制御ガイドをご覧ください。
適切なアクセス設定を設定したら、[Cloud Shell で開く] リンクを更新して、cloudshell_git_repo
パラメータと cloudshell_image
パラメータを指定します。たとえば、[Cloud Shell で開く] ボタンを追加するには、次の例の URL を編集して、次のようなリンクを Markdown ファイルに追加します。
[![Open in Cloud Shell](https://gstatic.com/cloudssh/images/open-btn.svg)](https://shell.cloud.google.com/cloudshell/editor?cloudshell_git_repo=REPO_URL&cloudshell_image=DOCKER_IMAGE_URL)
次の値を置き換えます。
- REPO_URL: リポジトリのロケーションへの URL
- DOCKER_IMAGE_URL: Docker イメージへの URL
これらのパラメータやその他のパラメータの詳細については、Cloud Shell で開くをご覧ください。
カスタム コンテナ イメージを最新の状態に保つ
Cloud Shell で動作するためには、カスタム コンテナは最新の一般公開の Cloud Shell イメージをベースにしている必要があります。カスタム イメージを最新の状態に保つため、毎週再ビルドすることをおすすめします。