Latihan - Mengambil citra Docker yang ada dan menyebarkannya secara lokal

Selesai

Titik awal yang baik untuk membuat dan menjalankan citra Docker Anda sendiri adalah mengambil citra yang ada dari Docker Hub dan menjalankannya secara lokal di komputer Anda.

Sebagai bukti konsep untuk aplikasi perusahaan, Anda memutuskan untuk mencoba menjalankan citra sampel dari Docker Hub. Gambar yang Anda pilih mengimplementasikan aplikasi web .NET Core ASP.NET dasar. Setelah Anda menetapkan proses untuk menyebarkan citra Docker, Anda akan dapat menjalankan salah satu aplikasi web perusahaan Anda sendiri menggunakan Docker.

Dalam latihan ini, Anda akan menarik citra dari Docker Hub dan menjalankannya. Anda akan memeriksa status Docker lokal untuk membantu memahami elemen yang digunakan. Terakhir, Anda akan menghapus kontainer dan citra dari komputer.

Penting

Latihan ini berlangsung di komputer Anda, bukan di Azure. Anda memerlukan instalasi lokal Docker untuk melanjutkan latihan. Unduh: https://hub.docker.com/editions/community/docker-ce-desktop-windows/

Tarik dan jalankan aplikasi sampel dari Docker Hub

  1. Mulai Docker di komputer Anda.

  2. Buka jendela prompt perintah di komputer lokal Anda.

  3. Masukkan kode berikut untuk menarik citra aplikasi ASP.NET Sample dari registri Docker Hub. Gambar ini berisi aplikasi web sampel yang dikembangkan oleh Microsoft, dan didasarkan pada templat ASP.NET default yang tersedia di Visual Studio.

    docker pull mcr.microsoft.com/dotnet/samples:aspnetapp
    
  4. Masukkan kode berikut untuk memverifikasi bahwa gambar telah disimpan secara lokal.

    docker image ls
    

    Anda akan melihat repositori bernama mcr.microsoft.com/dotnet/samples dengan tag aspnetapp.

  5. Masukkan kode berikut untuk memulai aplikasi sampel. Bendera -d digunakan untuk menjalankannya sebagai aplikasi latar belakang dan non-interaktif. Bendera -p adalah memetakan port 8080 dalam kontainer yang dibuat ke port 8080 secara lokal. Pengaturan ini dimaksudkan untuk menghindari konflik dengan aplikasi web apa pun yang sudah berjalan di komputer Anda. Perintah ini akan merespons dengan pengidentifikasi heksadesimal panjang untuk instans.

    docker run -d -p 8080:8080 mcr.microsoft.com/dotnet/samples:aspnetapp
    
  6. Buka browser web dan masukkan URL untuk contoh aplikasi web: http://localhost:8080. Anda akan melihat halaman yang terlihat seperti cuplikan layar berikut:

    Screenshot of the sample web app running in a browser.

Memeriksa kontainer di registri Docker lokal

  1. Pada perintah, jalankan perintah berikut untuk melihat kontainer yang berjalan di registri lokal.

    docker ps
    

    Output akan terlihat mirip dengan contoh berikut:

    CONTAINER ID   IMAGE                                             COMMAND                  CREATED          STATUS          PORTS                  NAMES
    96c851831ade   mcr.microsoft.com/dotnet/samples:aspnetapp   "dotnet aspnetapp.dll"   22 minutes ago   Up 22 minutes   0.0.0.0:8080->80/tcp   eager_montalcini
    

    Bidang COMMAND memperlihatkan kontainer yang dimulai dengan menjalankan perintah dotnet aspnetapp.dll. Perintah ini meminta runtime .NET Core untuk memulai kode di aspnetapp.dll (kode untuk aplikasi web sampel). Bidang PORTS menunjukkan bahwa port 8080 dalam gambar dipetakan ke port 8080 di komputer Anda. Bidang STATUS menunjukkan aplikasi masih berjalan. Catat NAMA kontainernya.

  2. Jalankan perintah berikut untuk menghentikan kontainer Docker, mengganti <NAME> tempat penampung dengan nama output dari perintah sebelumnya.

    docker container stop <NAME>
    
  3. Jalankan perintah berikut untuk memverifikasi bahwa kontainer tidak lagi berjalan. Bendera -a menunjukkan bahwa perintah menunjukkan status semua kontainer, bukan hanya kontainer yang sedang berjalan. Output harus menunjukkan STATUS kontainer sebagai Keluar.

    docker ps -a
    
  4. Di browser web Anda, refresh halaman untuk aplikasi web sampel (http://localhost:8080/). Ini akan gagal dengan kesalahan Koneksi Ditolak.

Menghapus kontainer dan citra dari registri lokal

  1. Meskipun kontainer telah berhenti, kontainer masih dimuat dan dapat dimulai ulang. Jalankan perintah berikut di jendela perintah untuk menghapusnya, mengganti tempat penampung <NAME> dengan nama kontainer Anda.

    docker container rm <NAME>
    
  2. Pastikan kontainer telah dihapus dengan menjalankan perintah berikut. Perintah tidak boleh lagi mencantumkan kontainer.

    docker ps -a
    
  3. Cantumkan citra yang saat ini tersedia pada komputer Anda. Output harus menampilkan repositori sampel.

    docker image ls
    
  4. Hapus citra dari registri.

    docker image rm mcr.microsoft.com/dotnet/samples:aspnetapp
    
  5. Output harus mencantumkan banyak item yang telah dihapus tagnya dan dihapus. Jalankan perintah berikut untuk mencantumkan gambar lagi dan memverifikasi bahwa gambar untuk aplikasi web microsoft/dotnet-samples telah hilang.

    docker image ls