事前構成されたベースイメージ

Google Cloud では、Cloud Workstations で使用するために設計された次のベースイメージを維持しています。

事前構成されたベースイメージのリスト

これらのイメージは、ワークステーション構成で直接使用することも、Docker の FROM コマンドを使用してカスタム コンテナ イメージを作成するときにベースイメージとして使用することもできます。

Image Description
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest Cloud Workstations のベースエディタ、Code-OSS に基づく Cloud Workstations 用の Code OSS。(デフォルト)。
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/base:latest IDE がインストールされていないベースイメージ。
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/clion:latest CLion IDE。JetBrains Gateway を介してのみアクセス可能。
インストールと開始の情報については、ローカルの JetBrains IDE を使用してコードを開発するをご覧ください。
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/goland:latest GoLand IDE。JetBrains Gateway を介してのみアクセス可能。
インストールと開始の情報については、ローカルの JetBrains IDE を使用してコードを開発するをご覧ください。
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/intellij-ultimate:latest IntelliJ IDEA Ultimate IDE。JetBrains Gateway を介してのみアクセス可能。
インストールと開始の情報については、ローカルの JetBrains IDE を使用してコードを開発するをご覧ください。
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/phpstorm:latest PhpStorm IDE。JetBrains Gateway を介してのみアクセス可能。
インストールと開始の情報については、ローカルの JetBrains IDE を使用してコードを開発するをご覧ください。
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/pycharm:latest PyCharm Professional IDE。JetBrains Gateway を介してのみアクセス可能。
インストールと開始の情報については、ローカルの JetBrains IDE を使用してコードを開発するをご覧ください。
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rider:latest Rider IDE。JetBrains Gateway を介してのみアクセス可能。
インストールと開始の情報については、ローカルの JetBrains IDE を使用してコードを開発するをご覧ください。
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rubymine:latest RubyMine IDE。JetBrains Gateway を介してのみアクセス可能。
インストールと開始の情報については、ローカルの JetBrains IDE を使用してコードを開発するをご覧ください。
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/webstorm:latest WebStorm IDE。JetBrains Gateway を介してのみアクセス可能。
インストールと開始の情報については、ローカルの JetBrains IDE を使用してコードを開発するをご覧ください。

サードパーティのベースイメージのリスト

サードパーティ画像 サードパーティ プロバイダ
us-central1-docker.pkg.dev/posit-images/cloud-workstations/workbench:latest Posit Workbench(RStudio Pro を含む)

Posit Workbench IDE または Posit Workbench コンテナ イメージで問題が発生した場合は、GitHub で Posit に報告してください。

Cloud Workstations のベースイメージの構造

Cloud Workstations のベースイメージは、次の定義済み構造を共有します。

  • ベースイメージのエントリポイント ファイルは /google/scripts/entrypoint.sh に設定されます。
  • 起動時に、ベースイメージは辞書順に /etc/workstation-startup.d/* でファイルを実行し、ワークステーション環境を初期化します。

    ファイルとその動作は次のとおりです。

    • 000_configure-docker.sh: ワークステーション内で Docker を構成して実行します。
    • 010_add-user.sh: Cloud Workstations にデフォルト ユーザーを作成します。

      永続ディスクはコンテナに動的にアタッチされるため、Dockerfile 内 ではなく、ワークステーションの起動時にユーザーを追加する必要があります。

    • 020_start-sshd.sh: コンテナ内で sshd サービスを開始します。

    • 110_start-$IDE.sh: イメージの IDE を起動します。

  • Cloud Workstations は、Docker イメージを /home/.docker_data のホーム ディレクトリに保存するため、イメージはセッション間で保持されます。

ワークステーションの起動時に機能を追加するには、/etc/workstation-startup.d/ ディレクトリにスクリプトを追加します。

  • このディレクトリ内のスクリプトはデフォルトで root として実行されます。スクリプトを別のユーザーとして実行するには、runuser コマンドを使用します。

  • スクリプトは辞書順に実行されるため、スクリプトの先頭に 200 より大きい 3 桁の数字を付けることをおすすめします。

ホーム ディレクトリの変更

ワークステーション構成で永続的なホーム ディレクトリが指定されている場合(デフォルトの動作)、ホーム ディレクトリをサポートする永続ディスクが実行時にコンテナに動的に接続されます。このプロセスにより、コンテナ イメージのビルド時に /home ディレクトリに加えられた変更が上書きされます。

更新を維持するには、コンテナ ランタイムに /home ディレクトリを変更します。そのためには、/etc/workstation-startup.d ディレクトリにスクリプトを追加するか、/etc/profile.d ディレクトリにユーザーごとの構成を追加します。このプロセスを高速化するには、コンテナの起動をブロックしないように、セットアップ スクリプトをバックグラウンド プロセスとして実行(コマンドの最後にアンパサンド & を追加)することを検討してください。

コンテナ ランタイムに移行する必要があるビルド時間構成の例:

  • ユーザーごとの git 構成
  • ホーム ディレクトリにクローンされた git リポジトリ
  • ユーザー ディレクトリの直接構成($HOME/.config ディレクトリへのファイルの配置など)
  • ユーザーの作成

ユーザーの作成と変更

Persistent Disk はランタイムにコンテナに動的にアタッチされるため、Dockerfile 内ではなく、ワークステーションの起動時にユーザーを追加する必要があります。ユーザーを変更または追加するために、/etc/workstation-startup.d/010_add-user.sh を更新するか、起動時に実行する独自のスクリプトを作成することをおすすめします。

また、/etc/profile.d 内のファイルを更新して、ユーザーのデフォルトの bash プロファイルを変更することもできます。

事前構成済みの Secure APT キーを更新する

Cloud Workstations のベースイメージには、Secure APT を使用してさまざまなサードパーティ リポジトリから取得した多数のツールがプリインストールされています。インストール プロセスの一環として、リポジトリ オーナーによって提供される公開鍵は gpg を使用してインポートされ、/usr/share/keyrings/ の下の個々のファイルに配置されます。これらのファイルは、/etc/apt/sources.list.d/ 内の対応する list ファイルから参照されます。 これにより、apt は特定のリポジトリを操作するときに、そのリポジトリの整合性を検証できます。

サードパーティ リポジトリのオーナーが、リポジトリの整合性検証に使用する公開鍵を変更することがあります。これにより、操作時にエラーが apt で表示される可能性があります。この潜在的な問題を解決するには、/google/scripts/refresh-preinstalled-apt-keys.sh を使用します。これは、プリインストールされた公開鍵の最新バージョンを取得して再インポートします。

インストール済み IDE のバージョンを一覧表示する

いくつかの Cloud Workstations ベースイメージには、IDE がプリインストールされています。利便性のためには、含まれている /google/scripts/preinstalled-ide-versions.sh スクリプトを参照してください。これは、イメージにインストールされた IDE の名前とバージョン情報を一覧表示します。

sudo root 権限をオフにする

デフォルトのワークステーション ユーザーには、これらのコンテナに対する sudo root アクセス権限があります。Docker コンテナへのルートアクセスをオフにするには、ワークステーション構成の作成時に CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO 環境変数を true に設定します。

ワークステーション構成の作成時に Google Cloud コンソールでこの環境変数を設定するには、次の手順を行います。

  1. ワークステーション構成の作成時に、基本情報の構成とマシン構成を完了します。
  2. [環境のカスタマイズ] ダイアログで、[コンテナの詳細オプション] セクションを展開し、[環境変数] を選択します。
  3. [追加変数を追加] をクリックします。
  4. 値として「CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO」と「true」を入力します。

次のステップ