Cloud Shell コンテナ イメージをカスタマイズする

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

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

カスタム Docker イメージを作成する


このタスクを Cloud Shell エディタで直接行う際の順を追ったガイダンスについては、[ガイドを表示] をクリックしてください。

ガイドを表示


次の手順に沿って、独自のカスタム 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 で開く] リンクを更新して、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 イメージをベースにしている必要があります。カスタム イメージを常に最新の状態に保つために、毎週再構築することをおすすめします。