arrow_back

Pengantar Docker

Login Gabung
Uji dan bagikan pengetahuan Anda kepada komunitas kami.
done
Dapatkan akses ke lebih dari 700 lab praktik, badge keahlian, dan kursus

Pengantar Docker

Lab 1 jam universal_currency_alt 1 Kredit show_chart Pengantar
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Uji dan bagikan pengetahuan Anda kepada komunitas kami.
done
Dapatkan akses ke lebih dari 700 lab praktik, badge keahlian, dan kursus

GSP055

Lab Mandiri Google Cloud

Ringkasan

Docker adalah platform terbuka untuk mengembangkan, mengirim, dan menjalankan aplikasi. Dengan Docker, Anda dapat memisahkan aplikasi dari infrastruktur dan memperlakukan infrastruktur layaknya aplikasi terkelola. Docker membantu mengirim kode, menguji, dan men-deploy lebih cepat, serta mempersingkat siklus antara menulis dan menjalankan kode.

Docker melakukan proses tersebut dengan menggabungkan fitur containerization kernel dengan alur kerja serta peralatan yang membantu Anda mengelola dan men-deploy aplikasi.

Container Docker dapat langsung digunakan di Kubernetes, sehingga memudahkan container dijalankan di Kubernetes Engine. Setelah mempelajari hal-hal penting mengenai Docker, Anda akan memiliki keterampilan untuk mulai mengembangkan Kubernetes serta aplikasi dalam container.

Tujuan

Di lab ini, Anda akan mempelajari cara:

  • Membangun, menjalankan, dan men-debug container Docker.
  • Mengambil image Docker dari Docker Hub dan Google Artifact Registry.
  • Mengirim image Docker ke Google Artifact Registry.

Prasyarat

Ini adalah lab tingkat pendahuluan. Anda dianggap tidak memiliki atau hanya memiliki sedikit pengalaman terkait Docker dan container. Pemahaman dalam menggunakan Cloud Shell dan command line direkomendasikan, tetapi tidak wajib.

Penyiapan dan persyaratan

Sebelum mengklik tombol Mulai Lab

Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer, yang dimulai saat Anda mengklik Start Lab, akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.

Lab praktik ini dapat Anda gunakan untuk melakukan sendiri aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.

Untuk menyelesaikan lab ini, Anda memerlukan:

  • Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
  • Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Jika Anda sudah memiliki project atau akun pribadi Google Cloud, jangan menggunakannya untuk lab ini agar terhindar dari tagihan ekstra pada akun Anda.

Cara memulai lab dan login ke Google Cloud Console

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details dengan info berikut:

    • Tombol Open Google Cloud console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).

    Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.

    Tips: Atur tab di jendela terpisah secara berdampingan.

    Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
  3. Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.

    {{{user_0.username | "Username"}}}

    Anda juga dapat menemukan Username di panel Lab Details.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. Klik Next.

    Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  7. Klik halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan mendaftar uji coba gratis.

Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.

Catatan: Untuk melihat menu dengan daftar produk dan layanan Google Cloud, klik Navigation menu di kiri atas. Ikon Navigation menu

Mengaktifkan Cloud Shell

Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.

  1. Klik Activate Cloud Shell Ikon Activate Cloud Shell di bagian atas konsol Google Cloud.

Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Output berisi baris yang mendeklarasikan PROJECT_ID untuk sesi ini:

Project Cloud Platform Anda dalam sesi ini disetel ke YOUR_PROJECT_ID

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

  2. Output Anda sekarang akan terlihat seperti ini:

Output:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net Untuk menyetel akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar project ID dengan perintah ini:
gcloud config list project

Output:

[core] project = <project_ID>

Contoh output:

[core] project = qwiklabs-gcp-44776a13dea667a6 Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.

Tugas 1. Hello world

  1. Di Cloud Shell, masukkan perintah berikut guna menjalankan container hello world untuk memulai:
docker run hello-world

(Output Perintah)

Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 9db2ca6ccae0: Pull complete Digest: sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. ...

Container sederhana ini menampilkan Hello from Docker! pada layar Anda. Meskipun perintah tampak sederhana, perhatikan jumlah langkah yang dijalankan di output. Daemon Docker menelusuri image hello-world, tidak menemukan image secara lokal, mengambil image dari registry publik bernama Docker Hub, membuat container dari image tersebut, lalu menjalankan container tersebut untuk Anda.

  1. Jalankan perintah berikut untuk melihat image container yang diambil dari Docker Hub:
docker images

(Output Perintah)

REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest feb5d9fea6a5 14 months ago 13.3kB

Ini adalah image yang diambil dari registry publik Docker Hub. ID Image memiliki format hash SHA256—kolom ini menentukan image Docker yang disediakan. Jika tidak menemukan image secara lokal, daemon Docker akan secara default menelusuri image di registry publik.

  1. Jalankan lagi container:
docker run hello-world

(Output Perintah)

Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: ...

Perhatikan bahwa saat Anda menjalankan perintah ini untuk kedua kalinya, daemon Docker mencari image di registry lokal dan menjalankan container dari image tersebut. Daemon Docker tidak perlu mengambil image dari Docker Hub.

  1. Terakhir, lihat container yang sedang berjalan dengan menjalankan perintah berikut:
docker ps

(Output Perintah)

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

Tidak ada container yang berjalan. Anda sudah keluar dari container hello-world yang Anda jalankan sebelumnya.

  1. Untuk melihat semua container, termasuk container yang telah selesai dieksekusi, jalankan docker ps -a:
docker ps -a

(Output Perintah)

CONTAINER ID IMAGE COMMAND ... NAMES 6027ecba1c39 hello-world "/hello" ... elated_knuth 358d709b8341 hello-world "/hello" ... epic_lewin

Ini menunjukkan kepada Anda Container ID, UUID yang dibuat oleh Docker untuk mengidentifikasi container, dan metadata lainnya tentang proses yang dijalankan. Names container juga dibuat secara acak, tetapi dapat ditentukan dengan docker run --name [container-name] hello-world.

Tugas 2. Membangun

Di bagian ini, Anda akan membangun image Docker yang didasarkan pada aplikasi node sederhana.

  1. Jalankan perintah berikut untuk membuat dan beralih ke folder bernama test.
mkdir test && cd test
  1. Buat Dockerfile:
cat > Dockerfile <<EOF # Use an official Node runtime as the parent image FROM node:lts # Set the working directory in the container to /app WORKDIR /app # Copy the current directory contents into the container at /app ADD . /app # Make the container's port 80 available to the outside world EXPOSE 80 # Run app.js using node when the container launches CMD ["node", "app.js"] EOF

File ini menginstruksikan daemon Docker cara membangun image.

  • Baris awal menentukan image induk dasar, yang dalam kasus ini adalah image Docker resmi untuk dukungan jangka panjang (LTS) versi node.
  • Di baris kedua, tetapkan direktori container saat ini.
  • Di baris ketiga, tambahkan konten direktori saat ini (ditunjukkan dengan "." ) ke dalam container.
  • Kemudian, ekspos port container agar dapat menerima koneksi pada port tersebut dan akhirnya menjalankan perintah node untuk memulai aplikasi.
Catatan: Luangkan waktu untuk meninjau referensi perintah Dockerfile guna memahami setiap baris Dockerfile.

Sekarang, Anda akan menulis aplikasi node, dan setelah itu Anda akan membangun image.

  1. Jalankan perintah berikut untuk membuat aplikasi node:
cat > app.js << EOF; const http = require("http"); const hostname = "0.0.0.0"; const port = 80; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader("Content-Type", "text/plain"); res.end("Hello World\n"); }); server.listen(port, hostname, () => { console.log("Server running at http://%s:%s/", hostname, port); }); process.on("SIGINT", function () { console.log("Caught interrupt signal and will exit"); process.exit(); }); EOF

Ini adalah server HTTP sederhana yang memproses port 80 dan menampilkan "Hello World".

Sekarang, bangun image-nya.

  1. Perhatikan kembali "." yang berarti direktori saat ini, sehingga Anda perlu menjalankan perintah ini dari dalam direktori yang memiliki Dockerfile:
docker build -t node-app:0.1 .

Perlu waktu beberapa menit untuk menyelesaikan eksekusi perintah ini. Setelah selesai, output Anda akan terlihat seperti berikut:

+] Building 0.7s (8/8) FINISHED docker:default => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 397B 0.0s => [internal] load metadata for docker.io/library/node:lts

Flag -t dimaksudkan untuk memberi nama dan tag image dengan sintaksis name:tag. Nama image-nya adalah node-app dan tag-nya adalah 0.1. Tag ini sangat direkomendasikan saat membangun image Docker. Jika Anda tidak menetapkannya, tag akan ditetapkan secara default ke latest, sehingga membedakan image yang baru dengan yang lama menjadi lebih sulit. Selain itu, perhatikan bahwa setiap baris di Dockerfile di atas menghasilkan lapisan container menengah saat image dibangun.

  1. Sekarang, jalankan perintah berikut untuk melihat image yang telah Anda bangun:
docker images

Output Anda akan terlihat seperti berikut:

REPOSITORY TAG IMAGE ID CREATED SIZE node-app 0.1 f166cd2a9f10 25 seconds ago 656.2 MB node lts 5a767079e3df 15 hours ago 656.2 MB hello-world latest 1815c82652c0 6 days ago 1.84 kB

Perhatikan bahwa node adalah image dasar dan node-app adalah image yang Anda bangun. Anda tidak dapat menghapus node tanpa menghapus node-app terlebih dahulu. Ukuran image relatif kecil dibandingkan VM. Image node versi lain, seperti node:slim dan node:alpine, dapat memberikan image yang berukuran lebih kecil lagi guna memudahkan portabilitas. Topik tentang cara mengurangi ukuran container dijelaskan lebih lanjut di Topik Lanjutan. Anda dapat melihat semua versi di repositori resmi dalam node.

Tugas 3. Menjalankan

  1. Gunakan kode ini untuk menjalankan container berdasarkan image yang telah Anda bangun:
docker run -p 4000:80 --name my-app node-app:0.1

(Output Perintah)

Server running at http://0.0.0.0:80/

Flag --name memungkinkan Anda memberi nama container jika dikehendaki. Flag -p memerintahkan Docker untuk memetakan port 4000 host ke port 80 container. Sekarang, Anda dapat menjangkau server di http://localhost:4000. Tanpa pemetaan port, Anda tidak dapat menjangkau container di localhost.

  1. Buka terminal lain (di Cloud Shell, klik ikon +), lalu uji server:
curl http://localhost:4000

(Output Perintah)

Hello World

Container akan berjalan selama terminal awal juga berjalan. Jika ingin container dijalankan di latar belakang (tidak terikat dengan sesi terminal), Anda harus menetapkan flag -d.

  1. Tutup terminal awal, lalu jalankan perintah berikut untuk menghentikan dan menghapus container:
docker stop my-app && docker rm my-app
  1. Sekarang, jalankan perintah berikut untuk memulai container di latar belakang:
docker run -p 4000:80 --name my-app -d node-app:0.1 docker ps

(Output Perintah)

CONTAINER ID IMAGE COMMAND CREATED ... NAMES xxxxxxxxxxxx node-app:0.1 "node app.js" 16 seconds ago ... my-app
  1. Perhatikan bahwa container sedang berjalan dalam output docker ps. Anda dapat melihat log dengan mengeksekusi docker logs [container_id].
Catatan: Anda tidak harus menulis seluruh ID container, selama karakter awal mengidentifikasi container secara unik. Misalnya, Anda dapat mengeksekusi docker logs 17b jika ID container berupa 17bcaca6f.... docker logs [container_id]

(Output Perintah)

Server running at http://0.0.0.0:80/

Sekarang, modifikasi aplikasinya.

  1. Di Cloud Shell, buka direktori pengujian yang sebelumnya telah Anda buat di lab:
cd test
  1. Edit app.js dengan editor teks pilihan Anda (misalnya nano atau vim) dan ganti "Hello World" dengan string lain:
.... const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Welcome to Cloud\n'); }); ....
  1. Bangun image baru ini dan beri tag 0.2:
docker build -t node-app:0.2 .

(Output Perintah)

[+] Building 0.7s (8/8) FINISHED docker:default => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 397B 0.0s => [internal] load metadata for docker.io/library/node:lts 0.5s

Perhatikan bahwa pada Langkah 2 Anda menggunakan lapisan cache yang ada. Dari Langkah 3 dan seterusnya, lapisan tersebut dimodifikasi karena Anda membuat perubahan pada app.js.

  1. Jalankan container lain dengan versi image baru. Perhatikan bahwa kita memetakan port 8080 host, bukan 80. Anda tidak bisa menggunakan port host 4000 karena port tersebut telah digunakan.
docker run -p 8080:80 --name my-app-2 -d node-app:0.2 docker ps

(Output Perintah)

CONTAINER ID IMAGE COMMAND CREATED xxxxxxxxxxxx node-app:0.2 "node app.js" 53 seconds ago ... xxxxxxxxxxxx node-app:0.1 "node app.js" About an hour ago ...
  1. Uji container:
curl http://localhost:8080

(Output Perintah)

Welcome to Cloud
  1. Sekarang, uji container pertama yang Anda buat:
curl http://localhost:4000

(Output Perintah)

Hello World

Tugas 4. Men-debug

Setelah Anda mempelajari cara membangun dan menjalankan container, sekarang pelajari proses debug.

  1. Anda dapat melihat log container menggunakan docker logs [container_id]. Jika Anda ingin memantau output log saat container dijalankan, gunakan opsi -f.
docker logs -f [container_id]

(Output Perintah)

Server running at http://0.0.0.0:80/

Terkadang, Anda mungkin ingin memulai sesi Bash interaktif di dalam container yang sedang berjalan.

  1. Anda dapat menggunakan docker exec untuk melakukannya. Buka terminal lain (di Cloud Shell, klik ikon +), lalu masukkan perintah berikut:
docker exec -it [container_id] bash

Flag -it memungkinkan Anda berinteraksi dengan container dengan mengalokasikan pseudo-tty dan tetap membuka stdin. Perhatikan bash yang berjalan di direktori WORKDIR (/app) yang ditetapkan di Dockerfile. Dari sini, Anda memiliki sesi shell interaktif dalam container untuk melakukan debug.

(Output Perintah)

root@xxxxxxxxxxxx:/app#
  1. Lihat direktori
ls

(Output Perintah)

Dockerfile app.js
  1. Keluar dari sesi Bash:
exit
  1. Anda dapat memeriksa metadata container di Docker menggunakan Docker inspect:
docker inspect [container_id]

(Output Perintah)

[ { "Id": "xxxxxxxxxxxx....", "Created": "2017-08-07T22:57:49.261726726Z", "Path": "node", "Args": [ "app.js" ], ...
  1. Gunakan --format untuk memeriksa kolom tertentu dari JSON yang ditampilkan. Contoh:
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' [container_id]

(Contoh Output)

192.168.9.3

Pastikan untuk memeriksa referensi dokumentasi Docker berikut guna mengetahui informasi selengkapnya tentang proses debug:

Tugas 5. Memublikasikan

Sekarang, Anda akan mengirim image ke Google Artifact Registry. Setelah itu, Anda akan menghapus semua container dan image guna melakukan simulasi lingkungan baru, lalu mengambil dan menjalankan container. Ini akan menunjukkan portabilitas container Docker.

Untuk mengirim image ke registry pribadi Anda yang dihosting oleh Artifact Registry, Anda perlu memberi tag pada image dengan nama registry. Formatnya adalah <regional-repository>-docker.pkg.dev/my-project/my-repo/my-image.

Membuat repositori Docker target (Menggunakan Cloud Console)

Anda harus membuat repositori sebelum dapat mengirim image apa pun ke dalamnya. Mengirim image tidak dapat memicu pembuatan repositori dan akun layanan Cloud Build tidak memiliki izin untuk membuat repositori.

  1. Dari Navigation Menu, lihat bagian CI/CD, lalu pilih Artifact Registry > Repositories.

  2. Klik ikon +CREATE REPOSITORY di samping repositori.

  3. Tetapkan my-repository sebagai nama repositori.

  4. Pilih Docker sebagai formatnya.

  5. Pada Location Type, pilih Region lalu pilih lokasi : .

  6. Klik Create.

Mengonfigurasi autentikasi

Sebelum Anda dapat mengirim atau mengambil image, konfigurasikan Docker agar menggunakan Google Cloud CLI untuk mengautentikasi permintaan ke Artifact Registry.

  1. Untuk menyiapkan autentikasi ke repositori Docker di region , jalankan perintah berikut di Cloud Shell:
gcloud auth configure-docker {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev
  1. Masukkan Y saat diminta.

Perintah ini memperbarui konfigurasi Docker Anda. Sekarang Anda dapat terhubung dengan Artifact Registry di project Google Cloud untuk mengirim dan mengambil image.

Catatan: Atau, Anda dapat menggunakan gcloud CLI untuk pendekatan command line yang lebih praktis.

Membuat repositori Artifact Registry (Menggunakan CLI)

  1. Jalankan perintah berikut untuk membuat Artifact Repository.
gcloud artifacts repositories create my-repository --repository-format=docker --location={{{ project_0.default_region | "REGION" }}} --description="Docker repository" Note: Saat Anda membuat panggilan Google Cloud API atau menggunakan alat command line yang memerlukan kredensial (seperti gcloud CLI, bq, atau gsutil) dengan Cloud Shell untuk pertama kalinya, Cloud Shell akan memberi prompt melalui dialog Authorize Cloud Shell. Untuk mengizinkan alat menggunakan kredensial Anda guna melakukan panggilan, klik Authorize.

Mengirim container ke Artifact Registry

  1. Ubah ke direktori dengan Dockerfile Anda.
cd ~/test
  1. Jalankan perintah untuk memberi tag node-app:0.2.
docker build -t {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev/{{{ project_0.project_id | "PROJECT_ID" }}}/my-repository/node-app:0.2 .
  1. Jalankan perintah berikut untuk memeriksa image Docker yang Anda bangun.
docker images

(Output Perintah)

REPOSITORY TAG IMAGE ID CREATED node-app 0.2 76b3beef845e 22 hours {{{project_0.default_region | "REGION"}}}-....node-app:0.2 0.2 76b3beef845e 22 hours node-app 0.1 f166cd2a9f10 26 hours node lts 5a767079e3df 7 days hello-world latest 1815c82652c0 7 weeks
  1. Kirim image ini ke Artifact Registry.
docker push {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev/{{{ project_0.project_id | "PROJECT_ID" }}}/my-repository/node-app:0.2

Output perintah (milik Anda dapat berbeda):

The push refers to a repository [{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/{{{project_0.project_id | "PROJECT_ID"}}}/my-repository/node-app:0.2] 057029400a4a: Pushed 342f14cb7e2b: Pushed 903087566d45: Pushed 99dac0782a63: Pushed e6695624484e: Pushed da59b99bbd3b: Pushed 5616a6292c16: Pushed f3ed6cb59ab0: Pushed 654f45ecb7e3: Pushed 2c40c66f7667: Pushed 0.2: digest: sha256:25b8ebd7820515609517ec38dbca9086e1abef3750c0d2aff7f341407c743c46 size: 2419
  1. Setelah pengiriman selesai, dari Navigation Menu, di bagian CI/CD, klik Artifact Registry > Repositories.

  2. Klik my-repository. Anda akan melihat container Docker node-app telah dibuat:

bagian node-app dari artifact registry

Menguji image

Anda dapat memulai VM baru, menjalankan ssh ke VM tersebut, dan menginstal gcloud. Agar mudah, hapus saja semua container dan image guna melakukan simulasi lingkungan baru.

  1. Hentikan dan hapus semua container:
docker stop $(docker ps -q) docker rm $(docker ps -aq)

Anda harus menghapus semua image turunan (dari node:Its) sebelum menghapus image node tersebut.

  1. Jalankan perintah berikut untuk menghapus semua image Docker.
docker rmi {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev/{{{ project_0.project_id| "PROJECT_ID" }}}/my-repository/node-app:0.2 docker rmi node:lts docker rmi -f $(docker images -aq) # remove remaining images docker images

(Output Perintah)

REPOSITORY TAG IMAGE ID CREATED SIZE

Pada tahap ini, Anda memiliki lingkungan yang pseudo-baru.

  1. Ambil image dan jalankan.
docker run -p 4000:80 -d {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev/{{{ project_0.project_id| "PROJECT_ID" }}}/my-repository/node-app:0.2
  1. Jalankan curl terhadap container yang sedang berjalan.
curl http://localhost:4000

(Output Perintah)

Welcome to Cloud

Menguji tugas yang sudah selesai

Klik Check my progress untuk memverifikasi tugas yang telah diselesaikan. Jika Anda berhasil memublikasikan image container ke Artifact Registry, Anda akan melihat skor penilaian.

Memublikasikan image container Anda ke Artifact Registry

Di sinilah portabilitas container ditunjukkan. Selama masih terinstal di host (baik lokal maupun VM), Docker dapat mengambil image dari registry publik atau pribadi dan menjalankan container berdasarkan image tersebut. Tidak ada dependensi aplikasi yang harus diinstal di host, kecuali Docker.

Selamat!

Selamat! Dalam lab ini, Anda telah melakukan berbagai aktivitas praktis, termasuk menjalankan container berdasarkan image publik dari Docker Hub. Anda juga telah membuat image container Anda sendiri dan berhasil mengirimnya ke Google Artifact Registry. Selain itu, lab ini juga membekali Anda dengan keterampilan untuk secara efektif men-debug container yang sedang berjalan. Selanjutnya, Anda memperoleh pengalaman dalam menjalankan container berdasarkan image yang telah diambil dari Google Artifact Registry, sehingga meningkatkan pemahaman dan kemahiran Anda dalam Docker.

Langkah berikutnya/Pelajari lebih lanjut

Sertifikasi dan pelatihan Google Cloud

...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.

Manual Terakhir Diperbarui pada 29 Februari 2024

Lab Terakhir Diuji pada 29 Februari 2024

Hak cipta 2024 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia