Dockerfile Linter
Lint Dockerfile Anda terhadap 18 aturan best-practice gaya Hadolint (base image tidak bertag, berjalan sebagai root, secret di ENV, bloat layer, dan lainnya) dan format otomatis — menggabungkan layer RUN dan mengurutkan daftar package. Berjalan sepenuhnya di browser Anda.
Input
Output
Ringkasan
| Tingkat keparahan | Jumlah |
|---|---|
| No data yet | |
Masalah
| Baris | Tingkat keparahan | Aturan | Pesan | Penjelasan |
|---|---|---|---|---|
| No data yet | ||||
Dockerfile yang Diformat
Cara lain menggunakan alat ini
REST API
curl -X POST https://api.iotools.cloud/v1/tool/dockerfile-linter \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"dockerfile": "FROM ubuntu:latest\n\nMAINTAINER john@example.com\n…"
}'Ganti dengan kunci Anda sendiri dari akun Anda. Bidang alat menjadi isi permintaan — tanpa pembungkus.
Tanyakan ke agen AI
Use the IOTools `dockerfile-linter` tool (Dockerfile Linter) on this input:
YOUR_INPUT_HERETempelkan ini ke agen mana pun yang terhubung ke server MCP IOTools, lalu tambahkan input Anda.
Widget sematan
<iframe
src="https://iotools.cloud/embed/dockerfile-linter/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Dockerfile Linter — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Tempelkan ini di halaman Anda sendiri — gratis, tanpa kunci, cukup tautan balik.
| Biaya per panggilan API/MCP | Mulai dari 5 kredit |
|---|---|
| Butuh kredit lebih? | Lihat harga |
Juga tersedia melalui
Panduan
Dockerfile Linter memeriksa Dockerfile Anda terhadap 18 aturan best-practice gaya Hadolint dan, dalam proses yang sama, memformatnya ke dalam bentuk yang lebih bersih dan dapat direproduksi. Tempel Dockerfile Anda dan Anda akan langsung mendapatkan ringkasan keparahan, daftar masalah baris demi baris, dan versi yang diformat otomatis — semuanya dihitung di browser Anda saat Anda mengetik.
Apa yang diperiksa
Linter menandai kesalahan yang paling sering menyebabkan bloat image, menghancurkan reproducibility, atau melemahkan keamanan:
- Base image — image tidak bertag (
DL3006) dan tag:latest(DL3007), yang membuat build tidak dapat direproduksi. - Keamanan — tidak ada instruksi
USERsehingga container berjalan sebagai root (DL3002), kemungkinan secret yang disimpan hardcode diENV(DL3060), dansudodi dalamRUN(DL3004). - Ukuran & layer image — multiple consecutive
RUNinstruction yang sebaiknya digabungkan (DL3059), apt-get list yang tertinggal (DL3009), dan missing--no-install-recommends(DL3015). - Correctness & style — instruksi yang tidak dikenal (
DL3000), first instruction yang bukanFROM(DL3001),cddi dalamRUNbukannyaWORKDIR(DL3003), invalidEXPOSEport (DL3011), unpinnedpippackage (DL3013),ADDketikaCOPYlebih cocok (DL3020), shell-formCMD/ENTRYPOINT(DL3025), missingHEALTHCHECK(DL3048), dan deprecatedMAINTAINERinstruction (DL4000).
Setiap issue menampilkan nomor baris, tingkat keparahan (error, warning, atau info), kode aturan yang kompatibel dengan Hadolint, pesan singkat, dan penjelasan cara memperbaikinya.
Cara menggunakannya
- Tempel Dockerfile Anda ke dalam input, atau klik Try an example untuk memuat yang berantakan.
- Baca tabel Summary untuk perhitungan error/warning/info cepat.
- Kerjakan tabel Issues — kode aturan cocok dengan Hadolint, jadi Anda dapat mencari aturan apa pun yang tidak Anda kenal.
- Salin Formatted Dockerfile, yang menggabungkan layer
RUNberturut-turut dengan&& \dan mengurutkan daftar packageapt-get,pip, danapksecara alfabetis.
Apakah ini sama dengan Hadolint?
Menggunakan kode aturan yang sama (DLxxxx) dan mencakup subset best-practice paling berpengaruh dari Hadolint, tetapi merupakan implementasi independen — bukan wrapper di sekitar binary Hadolint — jadi akan menangkap lebih sedikit edge case daripada tool lengkap. Ideal untuk review cepat tanpa perlu install apa pun.
Apakah tool ini memodifikasi Dockerfile saya?
Tidak. Output yang diformat adalah saran yang dapat Anda salin atau unduh; input Anda tidak pernah diubah secara otomatis. Formatter bersifat konservatif — ini me-relayout instruction tetapi tidak menambah atau menghapus fungsionalitas.
Mengapa mengurutkan daftar package?
Daftar apt-get install/pip install/apk add yang diurutkan secara alfabetis lebih mudah dipindai, ditinjau dalam diff, dan dide-duplikasi — konvensi kebersihan Dockerfile yang umum.
Privasi
Tool ini berjalan sepenuhnya di browser Anda. Dockerfile Anda tidak pernah diunggah, dicatat, atau dikirim ke server apa pun — semua linting dan formatting terjadi secara lokal di perangkat Anda.