Image dasar yang telah dikonfigurasi sebelumnya

Google Cloud menyimpan image dasar berikut yang dirancang untuk digunakan dengan Cloud Workstations.

Daftar image dasar yang telah dikonfigurasi sebelumnya

Image ini dapat digunakan langsung dalam konfigurasi workstation, atau dapat digunakan sebagai image dasar saat membuat image container kustom dengan perintah FROM Docker.

Image Deskripsi
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest Cloud Workstations base editor, Code OSS for Cloud Workstations, yang didasarkan pada Code-OSS. (Default)
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/base:latest Image dasar tanpa IDE terinstal.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/clion:latest CLion IDE. Hanya dapat diakses melalui JetBrains Gateway.
Untuk mengetahui informasi tentang penginstalan dan memulai, lihat Mengembangkan kode menggunakan IDE JetBrains lokal.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/goland:latest GoLand IDE. Hanya dapat diakses melalui JetBrains Gateway.
Untuk mengetahui informasi tentang penginstalan dan memulai, lihat Mengembangkan kode menggunakan IDE JetBrains lokal.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/intellij-ultimate:latest IntelliJ IDEA Ultimate IDE. Hanya dapat diakses melalui JetBrains Gateway.
Untuk mengetahui informasi tentang penginstalan dan memulai, lihat Mengembangkan kode menggunakan IDE JetBrains lokal.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/phpstorm:latest IDE PhpStorm. Hanya dapat diakses melalui JetBrains Gateway.
Untuk mengetahui informasi tentang penginstalan dan memulai, lihat Mengembangkan kode menggunakan IDE JetBrains lokal.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/pycharm:latest PyCharm Professional IDE. Hanya dapat diakses melalui JetBrains Gateway.
Untuk mengetahui informasi tentang penginstalan dan memulai, lihat Mengembangkan kode menggunakan IDE JetBrains lokal.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rider:latest IDE Rider. Hanya dapat diakses melalui JetBrains Gateway.
Untuk mengetahui informasi tentang penginstalan dan memulai, lihat Mengembangkan kode menggunakan IDE JetBrains lokal.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rubymine:latest IDE RubyMine. Hanya dapat diakses melalui JetBrains Gateway.
Untuk mengetahui informasi tentang penginstalan dan memulai, lihat Mengembangkan kode menggunakan IDE JetBrains lokal.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/webstorm:latest IDE WebStorm. Hanya dapat diakses melalui JetBrains Gateway.
Untuk mengetahui informasi tentang penginstalan dan memulai, lihat Mengembangkan kode menggunakan IDE JetBrains lokal.

Daftar image dasar pihak ketiga

Gambar pihak ketiga Penyedia pihak ketiga
us-central1-docker.pkg.dev/posit-images/cloud-workstations/workbench:latest Posit Workbench (termasuk RStudio Pro)

Jika Anda mengalami masalah terkait IDE Posit Workbench atau dengan image container Posit Workbench, laporkan ke Posit di GitHub.

Struktur image dasar Cloud Workstations

Image dasar Cloud Workstations memiliki struktur yang ditentukan berikut:

  • File entrypoint gambar dasar disetel ke /google/scripts/entrypoint.sh.
  • Saat memulai, image dasar menjalankan file pada /etc/workstation-startup.d/* dalam urutan leksikografis untuk menginisialisasi lingkungan workstation.

    File dan perilakunya adalah sebagai berikut:

    • 000_configure-docker.sh: Mengonfigurasi dan menjalankan Docker di dalam workstation.
    • 010_add-user.sh: Membuat pengguna default di Cloud Workstations.

      Karena persistent disk terpasang secara dinamis ke container, pengguna harus ditambahkan saat memulai workstation, bukan di Dockerfile.

    • 020_start-sshd.sh: Memulai layanan sshd di container.

    • 110_start-$IDE.sh: Memulai IDE untuk gambar.

  • Cloud Workstations menyimpan image Docker di direktori beranda di /home/.docker_data sehingga image dipertahankan di antara sesi.

Untuk menambahkan fungsi tambahan selama startup workstation, tambahkan skrip Anda dalam direktori /etc/workstation-startup.d/:

  • Skrip dalam direktori ini berjalan sebagai {i>root<i} secara {i>default<i}. Untuk menjalankan skrip sebagai pengguna yang berbeda, gunakan perintah runuser.

  • Karena skrip dieksekusi dalam urutan leksikografis, sebaiknya berikan awalan pada skrip dengan angka tiga digit yang lebih besar dari 200.

Modifikasi direktori {i>home<i}

Jika konfigurasi workstation menentukan direktori utama persisten (yang merupakan perilaku default), persistent disk yang mendukung direktori utama akan dipasang secara dinamis ke container saat runtime. Proses ini akan menimpa modifikasi yang dibuat pada direktori /home pada waktu build image container.

Untuk mempertahankan update, ubah direktori /home pada runtime penampung dengan menambahkan skrip di dalam direktori /etc/workstation-startup.d, atau dengan menambahkan konfigurasi per pengguna di direktori /etc/profile.d. Untuk mempercepat proses, pertimbangkan untuk menjalankan skrip penyiapan sebagai proses latar belakang (tambahkan ampersand, &, di akhir perintah) untuk menghindari pemblokiran startup container.

Beberapa contoh konfigurasi waktu build yang harus dipindahkan ke runtime container:

  • Konfigurasi git per pengguna
  • git repositori di-clone di direktori home
  • Konfigurasi pengguna langsung, seperti menempatkan file dalam direktori $HOME/.config
  • Pengguna dibuat

Pembuatan dan perubahan pengguna

Karena persistent disk terpasang secara dinamis ke container saat runtime, pengguna harus ditambahkan saat memulai workstation, bukan di Dockerfile. Untuk mengubah atau membuat pengguna tambahan, sebaiknya update /etc/workstation-startup.d/010_add-user.sh, atau buat skrip Anda sendiri yang dijalankan saat startup.

Selain itu, Anda dapat mengubah profil bash default untuk pengguna dengan memperbarui file di /etc/profile.d.

Mengupdate kunci APT Aman yang telah dikonfigurasi sebelumnya

Image dasar Cloud Workstations sudah diinstal sebelumnya dengan sejumlah alat yang diperoleh dari berbagai repositori pihak ketiga menggunakan Secure APT. Sebagai bagian dari proses penginstalan, kunci publik yang disediakan oleh pemilik repositori diimpor menggunakan gpg dan ditempatkan ke dalam masing-masing file pada /usr/share/keyrings/. File ini direferensikan dari file list yang sesuai di /etc/apt/sources.list.d/. Hal ini memungkinkan apt memverifikasi integritas repositori yang diberikan saat berinteraksi dengannya.

Terkadang, pemilik repositori pihak ketiga dapat memutuskan untuk mengubah kunci publik yang digunakan untuk memvalidasi integritas repositori mereka, yang menyebabkan apt menampilkan error saat berinteraksi dengannya. Untuk mengatasi potensi masalah ini, Anda dapat menggunakan /google/scripts/refresh-preinstalled-apt-keys.sh, yang memperoleh versi terbaru kunci publik bawaan dan mengimpornya ulang.

Mencantumkan versi IDE yang diinstal

Beberapa image dasar Cloud Workstations sudah diinstal sebelumnya dengan IDE. Untuk memudahkan, lihat skrip /google/scripts/preinstalled-ide-versions.sh yang disertakan, yang mencantumkan nama dan informasi versi IDE yang diinstal dalam image.

Nonaktifkan hak istimewa root sudo

Pengguna workstation default memiliki hak istimewa akses root sudo dalam penampung ini. Untuk menonaktifkan akses root ke container Docker, tetapkan variabel lingkungan CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO ke true saat membuat konfigurasi workstation.

Untuk menetapkan variabel lingkungan ini melalui Konsol Google Cloud saat membuat konfigurasi workstation, ikuti langkah-langkah berikut:

  1. Saat membuat konfigurasi workstation Anda, selesaikan konfigurasi untuk Informasi dasar dan konfigurasi Mesin.
  2. Di dialog Environmentengagement, luaskan bagian Advanced container options, lalu pilih Environment variables.
  3. Klik tambahkanTambahkan variabel.
  4. Masukkan CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO dan true sebagai nilai.

Langkah selanjutnya