Generator Dockerfile
Buat Dockerfile siap produksi dengan masukan terstruktur — pilih stack dasar (Node, Python, Go, Java, Ruby, PHP, Rust, .NET, Nginx, atau image kustom), kemudian atur WORKDIR, ARG build, variabel ENV, paket sistem, pemasangan dependensi, perintah build, port yang terbuka, pengguna non-root, HEALTHCHECK, dan ENTRYPOINT/CMD dalam bentuk exec atau shell. Berjalan sepenuhnya di browser Anda.
Input
Tag yang ditambahkan setelah nama image (image:TAG).
Variabel waktu build. Setiap baris menjadi instruksi ARG.
Variabel runtime. Setiap baris menjadi instruksi ENV.
Diinstal melalui apk/apt-get berdasarkan base image. Kosongkan untuk lewati.
Disalin terlebih dahulu untuk caching layer Docker yang lebih baik.
Berjalan setelah file dependensi disalin.
Opsional. Berjalan setelah source lengkap disalin.
Port TCP yang dipisahkan koma.
Opsional. Mengatur USER untuk runtime.
Opsional. Perintah shell yang dijalankan di dalam container.
Bentuk exec adalah array JSON dan tidak berjalan dalam shell; bentuk shell digunakan verbatim.
Opsional. Gunakan ketika CMD hanya menyuplai argumen.
Proses default ketika container dimulai.
Output
Cara lain menggunakan alat ini
REST API
curl -X POST https://api.iotools.cloud/v1/tool/dockerfile-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"stack": "node",
"imageTag": "20-alpine",
"workdir": "/app",
"envVars": "NODE_ENV=production",
"depFiles": "package.json package-lock.json",
"installDeps": "npm ci --omit=dev",
"exposePorts": "3000",
"runUser": "node",
"cmdForm": "exec",
"cmdValue": "node server.js"
}'Ganti dengan kunci Anda sendiri dari akun Anda. Bidang alat menjadi isi permintaan — tanpa pembungkus.
Tanyakan ke agen AI
Use the IOTools `dockerfile-generator` tool (Dockerfile Generator) 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-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Generator Dockerfile — 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
Generator Dockerfile membangun Dockerfile yang bersih dan siap produksi dari beberapa field terstruktur alih-alih mengingat urutan instruksi dan praktik terbaik. Pilih stack dasar, isi cara aplikasi Anda memasang dan dimulai, dan salin hasilnya — tanpa daemon Docker, tanpa unggahan, tidak ada yang meninggalkan browser Anda.
Apa yang dilakukannya
Anda memilih stack dasar (Node.js, Python, Go, Java, Ruby, PHP, Rust, .NET, Nginx, Alpine, Ubuntu, Debian, atau referensi image kustom lengkap) dan alat ini merangkai Dockerfile single-stage dalam urutan konvensional yang ramah cache:
FROMdengan image dan tag Anda- Variabel build-time
ARG WORKDIR- Variabel runtime
ENV(nilai dengan spasi dikutip secara otomatis) RUNinstalasi paket sistem yang menggunakanapk add --no-cachepada image Alpine danapt-get install --no-install-recommends(dengan pembersihan daftar apt) di tempat lain- Layer copy + install dependensi, dipisah dari source Anda agar Docker dapat meng-cache dependensi yang diinstal
COPY . .untuk sisa sourceRUNbuild opsionalEXPOSE,USERnon-root opsional,HEALTHCHECKopsionalENTRYPOINTdan/atauCMDdalam bentuk exec (array JSON, direkomendasikan) atau shell
Cara menggunakannya
Pilih stack Anda, kemudian sesuaikan tag dan perintah install/build agar cocok dengan proyek Anda. File dependensi disalin sebelum source lengkap Anda dengan tujuan: selama lockfile Anda tidak berubah, Docker menggunakan kembali layer install yang di-cache dan rebuild cepat. Biarkan field opsional apapun kosong untuk menghilangkan instruksi itu. Ketika Anda puas dengan pratinjau, gunakan Copy atau Download untuk menyimpannya sebagai Dockerfile di root proyek Anda.
Bentuk exec vs bentuk shell
Bentuk exec (CMD ["node", "server.js"]) menjalankan proses Anda langsung sebagai PID 1, jadi menerima sinyal seperti SIGTERM dan berhenti dengan bersih — ini sebabnya direkomendasikan. Bentuk shell (CMD node server.js) membungkus perintah dalam /bin/sh -c, yang berguna ketika Anda membutuhkan fitur shell seperti ekspansi variabel atau &&, dengan biaya shell duduk di antara runtime dan proses Anda.
Mengapa user non-root?
Menetapkan USER ke akun non-root membatasi radius ledakan jika container dikompromikan. Banyak image resmi (seperti node) mengirim user unpriviledged yang sudah siap pakai. Biarkan field kosong jika image base Anda tidak memiliki user yang sesuai.
Apakah itu melakukan build multi-stage?
Tidak — alat ini menghasilkan Dockerfile single-stage, yang mencakup kasus paling umum. Untuk bahasa yang dikompilasi Anda masih dapat menambahkan perintah build; untuk image final yang lebih ramping Anda akan mengedit tangan output menjadi build multi-stage.
Apakah ini Dockerfile yang valid dan dapat dibangun?
Ini mengikuti sintaks resmi Docker dan konvensi yang banyak digunakan, tetapi perintah (install, build, start) harus cocok dengan proyek aktual Anda. Perlakukan output sebagai titik awal yang kuat dan sesuaikan sesuai kebutuhan.
Privasi
Semuanya berjalan secara lokal di browser Anda. Nama image, variabel lingkungan, perintah, dan Dockerfile yang dihasilkan tidak pernah diunggah atau dicatat — alat melakukan pembuatan teks murni di perangkat Anda.