事前構成済みのベースイメージ

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

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

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

画像 説明
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest Code-OSS をベースにした Cloud Workstations ベースエディタ(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」を入力します。

次のステップ