全部产品
Search
文档中心

Container Registry:Diagnosis Pembuatan Image

更新时间:Jun 28, 2025

Analisis diagnosis menyediakan fitur diagnosis pembuatan untuk membantu Anda mengidentifikasi pengecualian, risiko potensial, dan peluang optimasi selama proses pembuatan image. Topik ini menjelaskan item pemeriksaan dari diagnosis pembuatan serta solusi yang sesuai.

Ikhtisar diagnosis pembuatan image

Fitur diagnosis pembuatan image menggabungkan pengalaman ahli dan kemampuan model bahasa besar Tongyi Qianwen (LLM) untuk membentuk mode diagnosis ganda berdasarkan pengetahuan ahli dan AI. Pendekatan ini bertujuan menemukan akar penyebab masalah secara tepat dan memberikan saran perbaikan.

Penting

Saat menggunakan fitur diagnosis pembuatan image, Alibaba Cloud mengumpulkan data relevan tentang repositori image Anda, termasuk informasi repositori image, konfigurasi pembuatan image, log tugas pembuatan, dan riwayat pembuatan image. Jangan menyimpan data sensitif dalam konfigurasi pembuatan image atau mengeluarkan data sensitif ke log tugas pembuatan. Untuk informasi lebih lanjut, lihat Catatan Penggunaan.

Fitur diagnosis pembuatan mencakup:

  • Pendeteksian Aturan: Meliputi pemeriksaan instruksi dan analisis log kesalahan.

  • Analisis Akar Penyebab: Mencakup identifikasi akar penyebab dan saran perbaikan.

    Dengan mengumpulkan data relevan dari repositori image kontainer dan mengidentifikasi situasi abnormal, diagnosis pembuatan image melakukan diagnosis mendalam untuk menemukan akar penyebab masalah serta mengusulkan solusi yang sesuai.

Proses diagnosis

Diagnosis pembuatan image pertama-tama mengumpulkan data relevan tentang repositori image kontainer, lalu melakukan diagnosis pengecualian mendalam. Setelah tugas diagnosis dimulai, proses melalui tahap-tahap berikut:

  • Pra-pemrosesan Data: Mengumpulkan data yang diperlukan untuk diagnosis, seperti status instance, konfigurasi repositori, informasi aturan pembuatan, dan log pembuatan, serta menganalisis dengan cepat pengecualian yang terjadi selama proses pembuatan.

  • Pendeteksian Aturan: Berdasarkan data yang dikumpulkan, menganalisis pengecualian, item risiko potensial, dan peluang optimasi selama proses pembuatan.

  • Analisis Akar Penyebab: Berdasarkan data yang dikumpulkan dan item deteksi, secara otomatis menganalisis penyebab masalah dan memberikan saran perbaikan.

image

Hasil diagnosis

Hasil diagnosis mencakup:

  • Item yang Perlu Diperbaiki: Mencakup akar penyebab pengecualian, saran perbaikan, dan lokalisasi pengecualian.

  • Diagnosis AI: Berdasarkan detail pengecualian, melakukan analisis mendalam pada instruksi pembuatan atau item konfigurasi untuk memberikan saran optimasi komprehensif.

Lihat aturan diagnosis dan saran perbaikan

  1. Di halaman Image Build Diagnostics, klik Diagnostics. Lalu di panel Select Image Build Task, pilih ID tugas pembuatan image yang ingin Anda diagnosis menggunakan parameter berikut.

    • Namespace: Namespace tempat tugas pembuatan image berada.

    • Image Repositories: Repositori image tempat tugas pembuatan image berada.

    • Image Build Task ID: ID tugas pembuatan image.

    Setelah memilih ID tugas pembuatan image, baca dengan cermat catatan penggunaan, pilih Saya mengerti dan setuju, lalu klik Initiate Diagnostics.

  2. Setelah diagnosis selesai, Anda dapat melakukan operasi yang sesuai berdasarkan saran perbaikan. Tabel berikut mencantumkan aturan diagnostik umum, akar penyebab pengecualian, dan saran perbaikan.

    Kelompok Aturan Diagnosis

    Nama Aturan Diagnosis

    Akar Penyebab Pengecualian

    Saran Perbaikan

    Pendeteksian Sintaks Dockerfile

    Definisi Port Tidak Valid

    Format port atau protokol dari instruksi EXPOSE salah.

    Saat menggunakan instruksi EXPOSE untuk mengekspos port, pastikan rentang port adalah 0 hingga 65535, dan protokolnya adalah TCP atau UDP.

    Pendeteksian Sintaks Instruksi Copy

    Saat menyalin beberapa file, alamat tujuan bukan direktori.

    Pastikan format jalur tujuan adalah direktori.

    Tahap Pembuatan Tidak Ada

    Nama tahap yang ditentukan dalam instruksi COPY tidak ada.

    Pastikan nama tahap yang Anda tentukan dalam instruksi COPY adalah nama tahap yang telah Anda definisikan sebelumnya.

    Nama Tahap Duplikat

    Nama tahap duplikat digunakan.

    Gunakan nama unik untuk setiap tahap.

    Instruksi Pertama Tidak Valid

    Instruksi pertama bukan instruksi FROM atau ARG.

    Pastikan instruksi pertama adalah instruksi FROM atau ARG.

    Item Kesalahan Kompilasi

    Kesalahan prakompilasi Dockerfile.

    Perbaiki kesalahan sintaks dalam Dockerfile, atau tunggu saran perbaikan yang disediakan oleh analisis akar penyebab.

    Item Peringatan Kompilasi

    Peringatan prakompilasi Dockerfile.

    Perhatikan instruksi terkait dalam Dockerfile, yang mungkin berjalan dengan cara yang tidak terduga.

    Pendeteksian Tag Image

    Tidak Ada Tag Image Dasar yang Ditentukan

    Tidak ada tag image spesifik yang ditentukan.

    Ini dapat menyebabkan tag image yang tidak terduga digunakan selama proses pembuatan image dan memengaruhi hasil pembuatan. Kami sarankan Anda menentukan tag image spesifik.

    Image Dasar Tidak Ada

    Nama image dasar salah atau tidak ada.

    Periksa nama image dasar atau pilih image dasar lain yang ada.

    Pendeteksian Kesalahan Runtime

    Kesalahan Eksekusi Perintah

    Eksekusi baris perintah gagal.

    Periksa apakah perintah yang ditentukan untuk dijalankan dalam Dockerfile benar, atau tunggu saran perbaikan yang disediakan oleh analisis akar penyebab.

    Perintah Tidak Ada

    Perintah yang akan dijalankan tidak ada.

    Pastikan perintah yang ditentukan untuk dijalankan dalam Dockerfile ada di image dasar.

    File Tidak Ada

    Kesalahan penyalinan file.

    Periksa apakah file atau direktori yang ditentukan dalam perintah COPY dalam Dockerfile ada.

    Pendeteksian Instruksi Tidak Valid

    Pendeteksian Perintah Tidak Valid

    Instruksi yang tidak didukung seperti Kill dan Shutdown digunakan selama proses pembuatan.

    Menggunakan instruksi seperti Kill dan Shutdown selama proses pembuatan dapat menyebabkan masalah keamanan dan stabilitas. Hapus instruksi ini.

    Pendeteksian Perintah sudo

    Perintah sudo yang digunakan selama proses pembuatan tidak valid.

    Hapus instruksi sudo dari proses pembuatan.

    Pendeteksian Kesalahan pada Tahap Pengunggahan

    Konflik Tag

    Tag image yang akan diunggah bertentangan dengan tag image yang sudah ada di repositori.

    Konflik tag image. Nonaktifkan fitur tag image immutable dari repositori, atau pastikan image dengan tag yang sama tidak didorong berulang kali.

    Pendeteksian Optimasi Ukuran Image

    Item Optimasi Instruksi apt get

    Instruksi apt update dan apt install dipisahkan dalam instruksi pembuatan.

    Pemisahan instruksi apt update dan apt install dalam instruksi berbeda dapat meningkatkan ukuran image dan mengurangi efisiensi pembuatan berulang.

    Item Optimasi Instruksi apt get

    Parameter --no-install-recommends tidak ditambahkan ke instruksi apt-get install.

    Menambahkan parameter --no-install-recommends ke instruksi apt-get install membantu mengurangi ukuran image.

    Item Optimasi Instruksi Instalasi Paket

    Cache tidak dibersihkan setelah paket diinstal.

    Pembersihan cache setelah paket diinstal membantu mengurangi ukuran image. Sebagai contoh, untuk membersihkan cache, Ubuntu menggunakan instruksi apt-get clean, Alpine menambahkan instruksi --no-cache and rm -rf /var/cache/apk/* ke instruksi apk add, dan CentOS menggunakan instruksi yum clean.

    Pendeteksian Kompilasi Multi-Tahap

    Kompilasi multi-tahap tidak digunakan untuk mengoptimalkan instruksi kompilasi.

    Meletakkan instruksi kompilasi ke dalam tahap terpisah untuk kompilasi dan menyalin hasil kompilasi ke image bisnis dapat mengurangi ukuran image.

    Paket Terkompresi Redundan Ada

    Paket terkompresi yang digunakan selama proses pembuatan tidak dibersihkan.

    Menggabungkan instruksi untuk mengunduh paket terkompresi, mengekstrak paket terkompresi, dan menghapus paket terkompresi dalam instruksi RUN yang sama dapat mengurangi ukuran image.

    Pendeteksian Optimasi Instruksi Pembuatan

    Pendeteksian Jalur Relatif

    WORKDIR menggunakan jalur relatif.

    Saat menggunakan jalur relatif untuk instruksi WORKDIR, sistem mungkin beralih ke direktori kerja yang tidak terduga, yang menyebabkan pembuatan gagal. Verifikasi bahwa jalur WORKDIR benar atau gunakan jalur absolut.

    Pendeteksian Pengguna Root

    Pengguna Root digunakan selama proses pembuatan.

    Beralih ke pengguna Root selama proses pembuatan dapat menyebabkan masalah keamanan saat kontainer berjalan. Hapus instruksi terkait.

    Pendeteksian Optimasi Pergantian Jalur

    Instruksi cd digunakan selama proses pembuatan.

    Direktori kerja yang ditentukan dalam instruksi cd selama proses pembuatan tidak berlaku dalam runtime kontainer. Kami sarankan Anda menggunakan instruksi WORKDIR.

    Pendeteksian Override CMD dan ENTRYPOINT

    Beberapa instruksi CMD atau ENTRYPOINT digunakan selama proses pembuatan.

    Saat menggunakan beberapa instruksi CMD atau ENTRYPOINT selama proses pembuatan, hanya instruksi terakhir yang berlaku. Pastikan instruksi terakhir adalah instruksi yang Anda maksudkan untuk digunakan.