Pengembang / Docker

Konverter docker run ke Docker Compose

Konversi perintah docker run menjadi file compose.yaml dengan port, volume, environment, jaringan, kebijakan restart, health check, GPU, dan lainnya, atau ubah service Compose kembali menjadi docker run; opsi tanpa padanan akan dicantumkan.

Konverter docker run ke Docker Compose: Perintah dipecah seperti yang dilakukan shell, termasuk kutip dan escape, lalu setiap opsi dipetakan ke key Compose yang sesuai: -p ke ports, -v dan --mount ke volumes, -e ke environment, --restart, --network, --health-cmd ke healthcheck, --gpus ke reservasi device, serta sekitar empat puluh opsi lainnya. Volume dan jaringan bernama mendapatkan entri tingkat teratasnya. Beberapa perintah akan menjadi beberapa service dalam satu file. Opsi yang tidak memiliki padanan di Compose akan dicantumkan, bukan dihapus tanpa penjelasan. Berjalan 100% lokal di browser Anda tanpa upload file ke server.

Dijalankan
Di browser Anda
Biaya
Gratis · tanpa daftar
Ketersediaan
Siap digunakan
docker run ke ComposePemrosesan lokal

Berjalan sepenuhnya di browser Anda

compose.yaml

services:
  db:
    image: postgres:16
    container_name: db
    environment:
      - POSTGRES_PASSWORD=change-me
    volumes:
      - pgdata:/var/lib/postgresql/data
    ports:
      - 5432:5432
    restart: unless-stopped
volumes:
  pgdata:

Setelah mengonversi

Jalankan docker compose config untuk memeriksa file dan melihatnya dengan nilai default yang sudah diisi, lalu jalankan docker compose up -d untuk memulainya. Tetapkan versi image, misalnya postgres:16, bukan latest, agar restart tidak tiba-tiba melakukan upgrade database.

Untuk membaca file dalam format lain, konversikan dengan YAML ke JSON; untuk job terjadwal di dalam container, penjelasan cron dapat membaca ekspresi cron.

Volume dan data

Volume bernama, seperti pgdata, dikelola oleh Docker dan tetap ada setelah docker compose down; path seperti ./data adalah folder di host. Cadangkan volume bernama sebelum menghapusnya dengan docker compose down -v, karena perintah tersebut akan menghapusnya.

Cara menggunakannya

  1. Tempel satu atau beberapa perintah docker run; baris lanjutan dengan backslash juga dapat digunakan.
  2. Baca compose.yaml dan periksa opsi apa saja yang tidak dapat dikonversi.
  3. Salin atau download hasilnya, atau ubah arah konversi untuk mengonversi file Compose menjadi perintah docker run.

Privasi & batasan

Semuanya berjalan di browser Anda; perintah Anda, yang mungkin berisi password, tidak di-upload.

Alat terkait

Pertanyaan umum

Mengapa menggunakan Compose, bukan docker run?

File Compose mencatat seluruh konfigurasi di satu tempat sehingga dapat dibaca, diberi version control, dan dijalankan dengan docker compose up, alih-alih menyimpan perintah panjang di riwayat shell. Compose juga dapat menjalankan beberapa container sekaligus dengan jaringan dan volume-nya.

Apa yang terjadi pada --rm dan -d?

Compose tidak memiliki --rm: container dihapus dengan docker compose down. Opsi -d dipilih saat Anda menjalankan docker compose up -d, sehingga tidak menjadi bagian dari file.

Mengapa jaringan ditandai sebagai external?

docker run --network menggunakan jaringan yang sudah ada, sehingga file hasil konversi merujuk jaringan tersebut dengan cara yang sama. Hapus external: true jika Anda ingin Compose membuat jaringan itu sendiri.

Sebaiknya password disimpan di dalam file?

Sebaiknya gunakan env_file yang tidak dimasukkan ke version control, atau Docker secrets, untuk password dan key. Konverter mempertahankan isi perintah, jadi periksa bagian environment sebelum melakukan commit.

Alat gratis · berjalan di browser anda · tanpa perlu akun