Konverter Docker Run ke Compose
Ubah perintah `docker run …` panjang menjadi definisi layanan docker-compose.yml yang setara — port, volume, lingkungan, jaringan, health-check, batas sumber daya, dan banyak lagi. Berjalan seluruhnya di browser Anda.
Input
Output
Cara lain menggunakan alat ini
REST API
curl -X POST https://api.iotools.cloud/v1/tool/docker-run-to-compose-converter \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"dockerRunInput": "docker run -d \\\n --name nginx-proxy \\\n --resta…"
}'Ganti dengan kunci Anda sendiri dari akun Anda. Bidang alat menjadi isi permintaan — tanpa pembungkus.
Tanyakan ke agen AI
Use the IOTools `docker-run-to-compose-converter` tool (Docker Run to Compose Converter) 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/docker-run-to-compose-converter/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Konverter Docker Run ke Compose — 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
Konverter Docker Run ke Compose mengubah perintah docker run … panjang menjadi definisi layanan docker-compose.yml yang setara. Tempel perintah yang biasanya Anda ketik di terminal dan dapatkan file Compose siap simpan — tidak perlu lagi menerjemahkan puluhan flag -p, -v, dan -e ke dalam YAML.
Dibuat untuk saat Anda menemukan kontainer dalam README proyek, blog post, atau riwayat shell dan ingin mengelolanya secara deklaratif. File Compose lebih mudah untuk versioning, review, dan restart daripada dinding flag command-line.
Cara menggunakannya
- Tempel perintah lengkap Anda ke dalam kotak Perintah Docker Run, misalnya
docker run -d --name web -p 8080:80 -v ./html:/usr/share/nginx/html nginx:alpine. - Output docker-compose.yml diperbarui saat Anda mengetik.
- Salin atau download sebagai
docker-compose.yml, lalu jalankandocker compose up -ddi direktori tersebut.
Perintah multi-baris dengan backslash trailing (\) tempel dengan baik — konverter menggabungkan baris kelanjutan sebelum parsing.
Apa yang dikonversi
Alat ini memahami flag yang benar-benar digunakan orang: -p/--publish (port), -v/--volume (volume), -e/--env dan --env-file (lingkungan), --name, --restart, --network, -l/--label, --user, --workdir, --entrypoint, capability (--cap-add/--cap-drop), --device, --dns, --add-host, tmpfs, --ulimit, --sysctl, dan flag health-check (--health-cmd, --health-interval, dan teman-temannya). Flag sumber daya — --memory, --memory-reservation, --cpus, --cpu-shares — dipancarkan di bawah blok deploy.resources. Argumen gambar apa pun setelah nama gambar menjadi command layanan.
FAQ
Apakah itu menghasilkan kunci versi?
Tidak. Bidang version: tingkat atas sudah usang dalam Compose Specification saat ini dan dengan sengaja dihilangkan. docker compose modern mengabaikannya.
Bagaimana jaringan bernama ditangani?
Nilai --network host, none, bridge, atau container:<id> dipetakan ke network_mode. Nama jaringan lain apa pun diperlakukan sebagai jaringan yang ditentukan pengguna: ditambahkan ke daftar networks: layanan dan dideklarasikan di bagian bawah file sebagai external: true, dengan asumsi Anda membuatnya sebelumnya dengan docker network create.
Mengapa --cpu-shares dibagi dengan 1024?
Bagian CPU Docker adalah bobot relatif di mana 1024 sama dengan satu CPU penuh. reservations.cpus Compose mengharapkan jumlah core fraksional, jadi nilai dikonversi (misalnya 512 menjadi "0.50").
Apakah itu menangani flag yang tidak saya kenali?
Flag tanpa padanan Compose (seperti --rm atau -d) cukup dihilangkan, karena mereka menggambarkan bagaimana CLI dijalankan bukan layanan itu sendiri. Jika input tidak dimulai dengan docker run, Anda mendapatkan komentar singkat yang menjelaskan itu bukannya file yang rusak.
Apakah itu validator YAML penuh?
Tidak — itu memancarkan file Compose yang bersih dan dikutip dengan benar tetapi tidak skema-validasi terhadap Compose Specification. Tinjau hasilnya sebelum deploy.
Privasi
Konversi berjalan sepenuhnya di browser Anda. Perintah Anda — termasuk rahasia apa pun dalam variabel lingkungan atau label — tidak pernah diunggah ke server. Karena itu, hindari menempel kredensial produksi, dan perlakukan file yang dihasilkan sama seperti yang Anda perlakukan dengan perintah asli.