Google Cloud mengelola image dasar berikut yang dirancang untuk digunakan dengan Cloud Workstation.
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 | Editor dasar Cloud Workstations, Code OSS untuk Cloud Workstations, berdasarkan Code-OSS. (Default) |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/base:latest | Image dasar tanpa IDE yang diinstal. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/clion:latest | IDE CLion. Hanya dapat diakses melalui JetBrains Gateway. Untuk informasi penginstalan dan memulai, lihat Mengembangkan kode menggunakan IDE JetBrains lokal. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/goland:latest | IDE GoLand. Hanya dapat diakses melalui JetBrains Gateway. Untuk informasi penginstalan dan memulai, lihat Mengembangkan kode menggunakan IDE JetBrains lokal. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/intellij-ultimate:latest | IDE IntelliJ IDEA Ultimate. Hanya dapat diakses melalui JetBrains Gateway. Untuk informasi 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 informasi penginstalan dan memulai, lihat Mengembangkan kode menggunakan IDE JetBrains lokal. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/pycharm:latest | IDE PyCharm Professional. Hanya dapat diakses melalui JetBrains Gateway. Untuk informasi penginstalan dan memulai, lihat Mengembangkan kode menggunakan IDE JetBrains lokal. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rider:latest | Rider IDE. Hanya dapat diakses melalui JetBrains Gateway. Untuk informasi 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 informasi 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 informasi 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 dengan IDE Posit Workbench atau dengan image penampung Posit Workbench, laporkan ke Posit di GitHub.
Struktur image dasar Cloud Workstations
Image dasar Cloud Workstations memiliki struktur yang ditentukan berikut:
- File titik entri image dasar ditetapkan ke
/google/scripts/entrypoint.sh
. Saat memulai, image dasar menjalankan file di
/etc/workstation-startup.d/*
dalam urutan leksikografis untuk melakukan inisialisasi 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 dilampirkan secara dinamis ke penampung, pengguna harus ditambahkan saat workstation dimulai, bukan di Dockerfile.
020_start-sshd.sh
: Memulai layanansshd
di penampung.110_start-$IDE.sh
: Memulai IDE untuk image.
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 di
direktori /etc/workstation-startup.d/
:
Skrip di direktori ini berjalan sebagai root secara default. Untuk menjalankan skrip sebagai pengguna lain, gunakan perintah
runuser
.Karena skrip dijalankan dalam urutan leksikografis, sebaiknya Anda menambahkan awalan pada skrip dengan angka tiga digit yang lebih besar dari 200.
Modifikasi direktori utama
Jika konfigurasi workstation menentukan direktori utama persisten
(yang merupakan perilaku default), persistent disk yang mendukung direktori utama
akan dilampirkan secara dinamis ke penampung saat runtime. Proses ini menimpa
perubahan yang dilakukan pada direktori /home
pada waktu build image container.
Untuk mempertahankan update, ubah direktori /home
pada runtime penampung
dengan menambahkan skrip di 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, &
, ke akhir perintah) untuk menghindari
pemblokiran startup penampung.
Beberapa contoh konfigurasi waktu build yang harus dipindahkan ke runtime penampung:
- Konfigurasi
git
per pengguna - Repositori
git
yang di-clone di direktori beranda - Konfigurasi pengguna langsung, seperti menempatkan file di direktori
$HOME/.config
- Pengguna dibuat
Pembuatan dan perubahan pengguna
Karena disk persisten secara dinamis dilampirkan ke penampung saat runtime,
pengguna harus ditambahkan saat workstation dimulai, bukan di Dockerfile. Untuk mengubah
atau membuat pengguna tambahan, sebaiknya perbarui
/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 mengupdate
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 setiap file di bagian /usr/share/keyrings/
. File ini
dirujuk dari file list
yang sesuai di bagian /etc/apt/sources.list.d/
.
Hal ini memungkinkan apt
memverifikasi integritas repositori tertentu 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
mendapatkan kunci publik bawaan versi terbaru dan mengimpornya kembali.
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 informasi nama dan versi IDE yang diinstal di
image.
Menonaktifkan hak istimewa root sudo
Pengguna workstation default memiliki hak istimewa akses root sudo
di penampung
ini. Untuk menonaktifkan akses root ke penampung 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:
- Saat membuat konfigurasi workstation, selesaikan konfigurasi untuk Informasi dasar dan Konfigurasi mesin.
- Pada dialog Environment customization, luaskan bagian Advanced container options dan pilih Environment variables.
- Klik tambahkanTambahkan variabel.
- Masukkan
CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
dantrue
sebagai nilai.
Langkah selanjutnya
- Sesuaikan image container Anda.
- Mengotomatiskan pembuatan ulang image container untuk menyinkronkan pembaruan image dasar menggunakan Cloud Build dan Cloud Scheduler.
- Menyiapkan praktik terbaik keamanan.