Cloud Shell コンテナ イメージのカスタマイズ

Cloud Shell を使用すると、デフォルトの Cloud Shell エクスペリエンスをカスタマイズできます。

カスタム Cloud Shell エクスペリエンスを作成するには、指定した追加のパッケージとカスタム構成を指定して、カスタム Cloud Shell 環境として機能する Docker イメージを作成する必要があります。Docker イメージは、ベースの Cloud Shell イメージに基づいており、Container Registry でホストされている必要があります。

このページでは、Cloud Shell 環境としてカスタム Docker イメージを作成して使用する方法について説明します。

カスタム Docker イメージの作成

次の手順に沿って、独自のカスタム Docker イメージを作成します。

  1. Cloud Shell ターミナルタブで次のコマンドを実行して、Cloud Source Repositories でホストされているリポジトリにボイラープレート カスタム イメージを作成します。

    cloudshell env create-custom-image NEW_REPO_NAME
    

    別の方法として、Container Registry に手動でデプロイするか、独自の自動化フローを使用する場合は、新しい空の Dockerfile を作成して、ステップ 3 に進んでください。

  2. コマンドラインに出力された手順に沿って、新しい Dockerfile を開きます。

    cd $HOME/NEW_REPO_NAME && cloudshell edit Dockerfile
    
  3. 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 のベースイメージを参照しているため、削除しないでください。

  4. 次のコマンドを実行して、イメージをローカルでビルドします。

    cloudshell env build-local
    
  5. イメージをローカルでテストし、次のコマンドを実行して、インストール済みパッケージが存在することを確認します。

    cloudshell env run
    

    テストを終了するには、次のコマンドを実行します。

    exit
    
  6. ローカルでコードの変更を commit します。

    git commit -a -m "Initial custom environment check-in."
    
  7. 変更を Cloud Source Repositories に push します。

    git push origin master
    
  8. 最後に、カスタム イメージを Container Registry に push します。

    cloudshell env push
    

[Cloud Shell で開く] リンクでカスタム イメージを使用するには、最初にそのイメージを公開する必要があります。カスタム イメージを公開する手順については、Container Registry アクセス制御ガイドをご覧ください。

適切なアクセス設定を設定したら、[Cloud Shell で開く] リンクを更新して、Docker イメージの URL で cloudshell_image パラメータを指定できます。

[![Open in Cloud Shell](https://gstatic.com/cloudssh/images/open-btn.svg)](https://ssh.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https://source.developers.google.com/p/project_name/r/repo_name&cloudshell_image=gcr.io/project-id/docker-image-name)