Image dasar yang telah dikonfigurasi sebelumnya yang disediakan oleh Cloud Workstations hanya berisi lingkungan minimal dengan IDE, terminal Linux dan alat bahasa dasar, serta server sshd
. Untuk mempercepat
penyiapan lingkungan pada kasus penggunaan pengembangan tertentu, Anda dapat membuat
image container kustom yang memperluas image dasar ini ke alat dan dependensi pra-penginstalan, serta yang menjalankan skrip otomatisasi.
Untuk image container kustom, sebaiknya siapkan pipeline agar otomatis membangun ulang image ini saat image dasar Cloud Workstations diperbarui, selain menjalankan alat pemindaian container seperti Artifact Analysis untuk memeriksa dependensi tambahan yang Anda tambahkan. Anda bertanggung jawab untuk mengelola dan memperbarui paket dan dependensi kustom yang ditambahkan ke image kustom.
Sebelum memulai
Anda memerlukan mesin dengan alat untuk mem-build image container seperti Docker, dan untuk mengirim image ke Artifact Registry (atau Container Registry) menggunakan Google Cloud CLI. Anda dapat menggunakan Cloud Workstations atau Cloud Shell Editor untuk melakukan langkah-langkah ini, yang telah menginstal alat ini.
Pilih image dasar yang ingin Anda gunakan dari daftar image dasar yang didukung, seperti
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest
.Atau, Anda dapat menggunakan image container sendiri atau menggunakan image container eksternal dengan mengikuti petunjuk Menggunakan image container Anda sendiri.
Buat folder seperti
CUSTOM_IMAGE_FOLDER
dan Dockerfile di dalam folder ini yang memperluas image dasar yang dipilih, seperti yang ditunjukkan dalam contoh berikut.
Struktur image dasar Cloud Workstations
Image dasar Cloud Workstations memiliki struktur yang telah ditentukan berikut:
- File titik entri gambar dasar disetel ke
/google/scripts/entrypoint.sh
. Saat memulai, image dasar menjalankan file pada
/etc/workstation-startup.d/*
sesuai 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 Workstation.Karena persistent disk terpasang secara dinamis ke container, pengguna harus ditambahkan saat memulai workstation, bukan di Dockerfile.
020_start-sshd.sh
: Memulai layanansshd
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 lain selama startup workstation, tambahkan skrip Anda di
direktori /etc/workstation-startup.d/
:
Skrip dalam direktori ini dijalankan sebagai root secara default. 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 menimpa modifikasi yang dilakukan 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 ampersan, &
, 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 di direktori
$HOME/.config
- Pengguna dibuat
Pembuatan dan modifikasi 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 di bagian /usr/share/keyrings/
. File-file ini
direferensikan dari file list
yang sesuai pada /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 kunci publik versi terbaru yang telah diinstal sebelumnya dan mengimpornya ulang.
Mencantumkan versi IDE yang terinstal
Beberapa image dasar Cloud Workstations sudah diinstal 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.
Menonaktifkan hak istimewa root sudo
Pengguna workstation default memiliki sudo
hak istimewa akses root di 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:
- Saat membuat konfigurasi workstation, selesaikan konfigurasi untuk Informasi dasar dan konfigurasi Mesin.
- Di dialog Environment adjustment, luaskan bagian Advanced container options lalu pilih Environment variables.
- Klik tambahkanTambahkan variabel.
- Masukkan
CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
dantrue
sebagai nilainya.
Gunakan image container Anda sendiri
Anda juga dapat menggunakan image container Anda sendiri atau menggunakan image container eksternal, selama image container tersebut berbasis Linux dan menjalankan proses pemblokiran saat container dimulai.
Saat menyiapkan Dockerfile, petunjuk ENTRYPOINT
harus menjalankan proses pemblokiran seperti sleep infinity
agar container terus berjalan, bukan langsung keluar. Atau, di konfigurasi workstation
Anda dapat menetapkan kolom config.container.args
untuk menentukan
proses pemblokiran.
Saat menggunakan image container Anda sendiri, perhatikan hal-hal berikut:
Cloud Workstations tidak memerlukan skrip tambahan dari image dasar Cloud Workstations.
Namun, Anda dapat melihat skrip di direktori
/etc/workstation-startup.d/
dalam container yang menjalankan image dasar Cloud Workstations. Nama file menunjukkan apa yang dilakukan setiap skrip.Sebaiknya jalankan server SSH dalam penampung. Lihat
/etc/workstation-startup.d/020_start-sshd.sh
di image dasar default untuk mempelajari cara Cloud Workstations menyiapkannya secara default.Sebaiknya jalankan IDE default atau server web Anda di port
80
.
Memperluas image dasar Cloud Workstations
Saat memperluas image dasar Cloud Workstations guna membuat image kustom untuk lingkungan workstation, Anda dapat melakukan tiga pendekatan:
- Update
Dockerfile
untuk menyertakan aset statis tambahan yang ingin Anda tambahkan. - Tambahkan file tambahan yang dapat dieksekusi di bagian
/etc/workstation-startup.d/
untuk menyesuaikan container yang sedang berjalan. File pada direktori ini secara otomatis berjalan dalam urutan leksikografis saat startup container, sehingga Anda dapat memberikan awalan nama file untuk menjalankannya pada waktu yang tepat selama startup workstation. - Ganti
ENTRYPOINT
di Dockerfile Anda untuk menyesuaikan startup container sepenuhnya.
Contoh Dockerfile kustom
Bagian ini memberikan contoh skenario dan petunjuk untuk membuat Dockerfile Anda sendiri.
Image container dengan emacs
terinstal sebelumnya
Untuk membuat image container dengan emacs
yang telah diinstal sebelumnya, jalankan perintah berikut:
FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest
RUN sudo apt update
RUN sudo apt install -y emacs
Image container dengan penyesuaian pengguna
Ikuti langkah-langkah berikut untuk menyesuaikan image container:
Buat skrip di
/etc/workstation-startup.d/*
yang berjalan setelah010_add-user.sh
—misalnya,011_customize-user.sh
:#!/bin/bash # Create new group groupadd $GROUP # Add the user to a new group usermod -a -G $GROUP $USERNAME
Ganti
$GROUP
dengan nama grup baru dan$USERNAME
dengan nama pengguna pengguna.Dengan asumsi bahwa Anda menamai skrip,
011_customize-user.sh
, tambahkan kode berikut ke image di Dockerfile Anda dan setel agar dapat dieksekusi:FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest COPY 011_customize-user.sh /etc/workstation-startup.d/ RUN chmod +x /etc/workstation-startup.d/011_customize-user.sh
Image container yang menetapkan variabel lingkungan container di sesi SSH
Variabel lingkungan yang ditetapkan di konfigurasi workstation atau tingkat workstation diteruskan ke subproses langsung menggunakan perintah titik entri. Hal ini mencakup IDE dalam image dasar yang telah dikonfigurasi sebelumnya. Namun, sesi SSH bukanlah proses turunan dari titik entri, dan variabel lingkungan kustom ini tidak ditetapkan.
Untuk menetapkan variabel lingkungan tersebut dalam sesi SSH, siapkan image container kustom yang meneruskan variabel lingkungan ini dari perintah titik entri penampung ke file /etc/environment
.
Untuk melakukannya, ikuti langkah-langkah berikut:
Buat skrip di
/etc/workstation-startup.d/*
yang berjalan setelah010_add-user.sh
—misalnya,011_add-ssh-env-variables.sh
:#!/bin/bash # echo "CUSTOM_ENV_VAR=$CUSTOM_ENV_VAR" >> /etc/environment
Ganti
CUSTOM_ENV_VAR
dengan nama variabel lingkungan yang diinginkan.Dengan asumsi bahwa Anda menamai skrip,
011_add-ssh-env-variables.sh
, tambahkan kode berikut ke image di Dockerfile Anda dan setel agar dapat dieksekusi:FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest COPY 011_add-ssh-env-variables.sh /etc/workstation-startup.d/ RUN chmod +x /etc/workstation-startup.d/011_add-ssh-env-variables.sh
Image container yang mengaktifkan penerusan X11 untuk sesi SSH
Penerusan X11 memungkinkan Anda memulai aplikasi jarak jauh dan meneruskan tampilan aplikasi ke komputer lokal.
Untuk membuat image container yang mengaktifkan penerusan X11, ubah file konfigurasi daemon OpenSSH (/etc/ssh/sshd_config
) yang disediakan oleh image dasar Cloud Workstation dengan menambahkan X11Forwarding yes
(untuk mengizinkan penerusan X11) dan AddressFamily inet
(untuk memastikan bahwa hanya IPv4 yang digunakan). Untuk informasi selengkapnya tentang kata kunci ini, lihat halaman web OpenBSD tentang AddressFamily
dan X11Forwarding
.
Berikut adalah contoh Dockerfile, yang melakukan modifikasi yang diperlukan:
FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest
# Permit X11 forwarding using only IPv4
RUN cat >> /etc/ssh/sshd_config <<-EOF
AddressFamily inet
X11Forwarding yes
EOF
Image container yang menginstal ekstensi IDE terlebih dahulu di Code OSS untuk Cloud Workstation untuk pengembangan Java
Untuk membuat image container yang telah menginstal ekstensi IDE terlebih dahulu di Code OSS untuk Cloud Workstation untuk pengembangan Java pada waktu build, jalankan perintah berikut:
FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest
RUN wget https://open-vsx.org/api/vscjava/vscode-java-debug/0.40.1/file/vscjava.vscode-java-debug-0.40.1.vsix && \
unzip vscjava.vscode-java-debug-0.40.1.vsix "extension/*" &&\
mv extension /opt/code-oss/extensions/java-debug
RUN wget https://open-vsx.org/api/vscjava/vscode-java-dependency/0.19.1/file/vscjava.vscode-java-dependency-0.19.1.vsix && \
unzip vscjava.vscode-java-dependency-0.19.1.vsix "extension/*" &&\
mv extension /opt/code-oss/extensions/java-dependency
RUN wget https://open-vsx.org/api/redhat/java/1.6.0/file/redhat.java-1.6.0.vsix && \
unzip redhat.java-1.6.0.vsix "extension/*" &&\
mv extension /opt/code-oss/extensions/redhat-java
RUN wget https://open-vsx.org/api/vscjava/vscode-maven/0.35.2/file/vscjava.vscode-maven-0.35.2.vsix && \
unzip vscjava.vscode-maven-0.35.2.vsix "extension/*" &&\
mv extension /opt/code-oss/extensions/java-maven
RUN wget https://open-vsx.org/api/vscjava/vscode-java-test/0.35.0/file/vscjava.vscode-java-test-0.35.0.vsix && \
unzip vscjava.vscode-java-test-0.35.0.vsix "extension/*" &&\
mv extension /opt/code-oss/extensions/java-test
Jika Anda melakukan pra-penginstalan ekstensi, ekstensi tersebut dianggap sebagai ekstensi bawaan.
Anda tidak akan dapat mengupdate ekstensi ini dan ekstensi tersebut mungkin tidak muncul di bagian yang diinstal di
Extensions Marketplace.
Namun, Anda dapat menemukan ekstensi bawaan dengan menelusuri
@builtin
.
Cara lain untuk menginstal ekstensi saat startup adalah dengan menjalankan
skrip startup.
Misalnya, sertakan skrip startup berikut di bagian
/etc/workstation-startup.d/120_install_extensions.sh
:
/opt/code-oss/bin/codeoss-cloudworkstations --install-extension vscjava.vscode-java-debug@0.40.1 \
--install-extension vscjava.vscode-java-dependency@0.19.1 \
--install-extension redhat.java@1.6.0 \
--install-extension vscjava.vscode-maven@0.35.2 \
--install-extension vscjava.vscode-java-test@0.35.0
Dengan menggunakan metode ini, ekstensi akan muncul di Extensions Marketplace dan Anda dapat memperbaruinya dari sana.
Menginstal IDE dan plugin JetBrains ke dalam image dasar
Saat menyesuaikan image Docker untuk konfigurasi workstation, Anda dapat menginstal IDE dan plugin JetBrains, seperti Cloud Code for IntelliJ, ke image dasar. Image dasar Cloud Workstation untuk produk JetBrains menyertakan skrip berikut untuk membantu Anda:
jetbrains-installer.sh
: menginstal IDE JetBrainsplugin-installer.sh
: menginstal plugin, seperti Cloud Code for IntelliJ
Gunakan skrip ini sesuai kebutuhan untuk menyesuaikan image dasar, memanggilnya dengan skrip startup, atau menjalankannya setelah memulai workstation.
Skrip penginstal
Untuk melihat file sumber skrip jetbrains-installer.sh
dan
plugin-installer.sh
, mulai workstation menggunakan konfigurasi workstation
yang menggunakan salah satu image yang telah ditetapkan JetBrains, hubungkan ke
workstation melalui JetBrains Gateway atau melalui SSH, lalu jelajahi
file skrip di direktori installer-scripts
yang terletak di
direktori root.
Sebaiknya jalankan skrip ini pada waktu build container. Hindari menjalankannya di workstation yang sudah dimulai.
Menggunakan skrip penginstal plugin
Skrip plugin-installer.sh
menggunakan sintaksis berikut:
plugin-installer.sh [-v VERSION] [-d DESTINATION-DIRECTORY] [-c CHECKSUM] [-f] PLUGIN_ID
Ganti kode berikut:
VERSION
: nomor versi opsional plugin yang akan diinstal.DESTINATION-DIRECTORY
: direktori opsional tempat plugin harus diinstal. Jika tidak ditentukan, direktori kerja akan digunakan.CHECKSUM
: checksum SHA-256 opsional dari plugin yang diminta.-f
: jika ditentukan, plugin yang sudah ada akan ditimpa.PLUGIN_ID
: ID plugin numerik yang diperlukan dari marketplace JetBrains. Misalnya, untuk menambahkan Dart, gunakan6351
sebagai sudah_ID. Untuk menambahkan Cloud Code for IntelliJ, gunakan8079
sebagai plugin_ID.
Misalnya, untuk menginstal plugin Dart versi terbaru di IntelliJ, jalankan perintah berikut:
plugin-installer.sh -d /opt/ideaIU/plugins/ 6351
Menggunakan skrip penginstal JetBrains
Sebaiknya gunakan skrip penginstal JetBrains saat memperluas image dasar yang telah dikonfigurasi sebelumnya untuk JetBrains IDE.
Skrip jetbrains-installer.sh
menggunakan sintaksis berikut:
jetbrains-installer.sh IDE [ pinned|latest ]
Ganti kode berikut:
IDE
: JetBrains IDE yang akan diinstal. Anda harus menggunakan salah satu singkatan IDE berikut:IDE Produk Diinstal cl
CLion clion
CLion go
GoLand goland
GoLand iiu
Intellij Ultimate intellij
Intellij Ultimate pcp
Profesional Farmasi pycharm
Profesional Farmasi ps
PHPStorm phpstorm
PHPStorm rd
Penumpang rider
Penumpang rm
RubyMine rubymine
RubyMine ws
WebStorm webstorm
WebStorm pinned|latest
: Opsional - Gunakan IDE yang disematkan atau versi terbaru. Nilai defaultnya adalahlatest
.
Misalnya, untuk menginstal Clion versi terbaru, jalankan perintah berikut:
jetbrains-installer.sh clion
Menyesuaikan file konfigurasi JetBrains IDE
Jika direktori beranda persisten ditentukan dalam konfigurasi workstation, image dasar Cloud Workstations dengan JetBrains IDE
akan otomatis mempertahankan file konfigurasi $IDE.vmoptions
dan
$IDE.properties
. Untuk mengganti lokasi default file ini, tentukan
variabel lingkungan CLOUD_WORKSTATIONS_JETBRAINS_PERISTED_CONFIG_DIR
.
Untuk informasi selengkapnya, lihat
/etc/workstation-startup.d/120_persist-jetbrains-configs.sh
di
image dasar JetBrains untuk mempelajari
cara Cloud Workstations menyiapkannya secara default.
Memperluas image Docker dasar dengan Cloud Code untuk IntelliJ
Cuplikan Dockerfile berikut memperluas image Docker dasar dengan Cloud Code untuk IntelliJ dengan menyertakan 8079
sebagai ID plugin yang diperlukan.
Contoh ini juga secara opsional menentukan version 22.9.3-222
sebagai nomor
versi, /opt/ideaIU/plugins/
sebagai direktori tujuan, dan
89628279ed9042c526a81facc09bf53f8fb8b83b4595b0d329d94c1611e0c379
sebagai
checksum:
...
# Install IDE and Plugins
RUN bash /installer-scripts/jetbrains-installer.sh intellij pinned && \
# Install Cloud Code - https://plugins.jetbrains.com/plugin/8079-cloud-code
bash /installer-scripts/plugin-installer.sh \
-v 22.9.3-222 \
-d /opt/ideaIU/plugins/ \
-c 89628279ed9042c526a81facc09bf53f8fb8b83b4595b0d329d94c1611e0c379 \
8079
# Register IDE with JetBrains Gateway
RUN echo 'runuser user -c "/opt/ideaIU/bin/remote-dev-server.sh registerBackendLocationForGateway"' > /etc/workstation-startup.d/110_register-intellij-with-gateway.sh \
echo 'echo "IntelliJ-Ultimate ready for incoming gateway connection"' >> /etc/workstation-startup.d/110_register-intellij-with-gateway.sh
...
Menginstal ekstensi IDE tambahan di Code OSS untuk Cloud Workstation
Temukan ekstensi IDE tambahan di Open VSX Registry.
Anda juga dapat menemukan URL file .vsix
dengan menyalin URL dari link Download untuk ekstensi apa pun.
Jika Anda membuka Extensions Marketplace dari workstation, Install akan muncul, bukan Download.
Setelan Kode Default OSS untuk Cloud Workstations
Untuk informasi mendetail tentang penyimpanan setelan di Code OSS untuk Cloud Workstation, lihat Menyesuaikan setelan.
Jika Anda menentukan direktori beranda persisten di konfigurasi workstation,
Anda dapat mengonfigurasi setelan default untuk Code OSS for Cloud Workstation dengan menambahkan
skrip startup
yang menulis setelan ke
$HOME/.codeoss-cloudworkstations/data/Machine/settings.json
.
Misalnya, jika Anda ingin menyetel tema warna default ke Gelap, perluas image
editor dasar untuk menyertakan skrip berikut di
/etc/workstation-startup.d/150_default-ide-color-theme.sh
cat <<< $(jq '. += {"workbench.colorTheme": "Default Dark Modern"}' settings.json) > settings.json
Membuat image container kustom
Untuk mengetahui informasi mendetail tentang perintah Docker, lihat referensi Docker. Masukkan perintah berikut untuk membuat container:
docker build CUSTOM_IMAGE_FOLDER -t TARGET_IMAGE
Perhatikan bahwa mengganti teks yang mendahului ikon Edit edit akan memperbarui contoh lain di halaman ini.
Ganti kode berikut:
CUSTOM_IMAGE_FOLDER
: jalur ke folder yang Anda buat untuk menyimpan gambar kustom.TARGET_IMAGE
: jalur ke image Anda di Artifact Registry (atau Container Registry).Misalnya,
TARGET_IMAGE
mungkin mengarah ke jalur image target yang mirip dengan salah satu jalur berikut:*.pkg.dev/cloud-workstations-external/customimage:latest *.gcr.io/cloud-workstations-external/customimage:latest
Ganti * sesuai kebutuhan dengan nama wilayah dan ID tambahan.
Anda juga dapat memperbarui variabel lingkungan CLOUD_WORKSTATIONS_CUSTOM_IMAGE
agar mengarah ke repositori.
Untuk mengetahui informasi selengkapnya tentang cara menyimpan image Docker di Artifact Registry, lihat bagian berikut:
- Cara Membuat repositori Docker dengan Artifact Registry.
- Konvensi penamaan untuk nama repositori dan image.
Menghosting image container kustom
Untuk menghosting image container kustom, sebaiknya gunakan dan dukung Artifact Registry. Jika Anda menggunakan GitHub atau repositori publik atau pribadi lainnya, Cloud Workstations mungkin tidak berfungsi seperti yang diharapkan. Untuk mengetahui informasi selengkapnya, lihat catatan penting di bagian Menggunakan image container kustom.
Menguji image container kustom
Setelah container selesai dibuat, Anda dapat mengujinya dengan perintah berikut:
docker run --privileged -p LOCAL_PORT:CONTAINER_PORT TARGET_IMAGE
Ganti kode berikut:
LOCAL_PORT
: nomor port lokalCONTAINER_PORT
: nomor port container
Misalnya, mengganti
LOCAL_PORT
:CONTAINER_PORT
dengan
8080
:80
akan menetapkan port 8080
untuk digunakan secara lokal dan port 80
untuk digunakan dalam
penampung.
Jika Anda memperluas image editor dasar Cloud Workstations, jalankan perintah docker
, lalu uji image workstation dengan menghubungkan ke workstation melalui browser lokal atau dengan menjalankan ssh
agar terhubung ke container Anda:
- Jika Anda terhubung melalui browser, pastikan Anda meneruskan
-p 8080:80
ke perintahdocker run
, lalu bukalocalhost:8080
. - Jika Anda memilih untuk terhubung melalui SSH, pastikan Anda meneruskan
-p 2222:22
ke perintahdocker run
, lalu jalankanssh user@localhost -p 2222
.
Menggunakan image container kustom
Untuk menggunakan image container kustom setelah mem-build dan mengujinya secara lokal, kirim container Anda ke Artifact Registry (atau Container Registry) dengan perintah berikut:
docker push TARGET_IMAGE
Sekarang Anda dapat membuat konfigurasi workstation menggunakan image container yang baru saja Anda buat dan kirim.
Untuk mengetahui informasi selengkapnya, lihat Membuat repositori Docker dengan Artifact Registry.
Men-debug masalah
Untuk menemukan dan men-debug masalah saat menjalankan image container, tinjau log output container dari workstation yang sedang berjalan.
Direkomendasikan: membantu mengamankan pipeline gambar Anda
Anda bertanggung jawab untuk memelihara dan memperbarui paket khusus dan dependensi yang ditambahkan pada image kustom.
Jika Anda membuat gambar kustom, kami merekomendasikan hal berikut:
Bantu amankan pipeline gambar Anda dengan mem-build ulang image ini secara otomatis saat image dasar Cloud Workstations diperbarui.
Jalankan alat pemindaian container seperti Artifact Analysis untuk memeriksa dependensi tambahan yang Anda tambahkan.
Jadwalkan build untuk mem-build ulang image setiap minggu, atau pelajari cara mengotomatiskan rebuild image container.
Langkah selanjutnya
- Otomatiskan rebuild image container untuk menyinkronkan update image dasar menggunakan Cloud Build dan Cloud Scheduler.
- Menyiapkan praktik terbaik keamanan.
- Pelajari Analisis Artefak lebih lanjut.