Menyesuaikan container image

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

  1. 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.

  2. 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.

  3. 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 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 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:

  1. Saat membuat konfigurasi workstation, selesaikan konfigurasi untuk Informasi dasar dan konfigurasi Mesin.
  2. Di dialog Environment adjustment, luaskan bagian Advanced container options lalu pilih Environment variables.
  3. Klik tambahkanTambahkan variabel.
  4. Masukkan CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO dan true 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:

  1. Update Dockerfile untuk menyertakan aset statis tambahan yang ingin Anda tambahkan.
  2. 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.
  3. 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:

  1. Buat skrip di /etc/workstation-startup.d/* yang berjalan setelah 010_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.

  2. 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:

  1. Buat skrip di /etc/workstation-startup.d/* yang berjalan setelah 010_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.

  2. 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 JetBrains
  • plugin-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, gunakan 6351 sebagai sudah_ID. Untuk menambahkan Cloud Code for IntelliJ, gunakan 8079 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 adalah latest.

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.

Buka halaman VSX untuk ekstensi bahasa Go yang menampilkan tombol Download.

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:

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 lokal
  • CONTAINER_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 perintah docker run, lalu buka localhost:8080.
  • Jika Anda memilih untuk terhubung melalui SSH, pastikan Anda meneruskan -p 2222:22 ke perintah docker run, lalu jalankan ssh 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.

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:

Langkah selanjutnya