İçeriğe atla
%100 yerel

docker run'dan Compose'a Dönüştürme

Bir docker run komutunu docker-compose.yml hizmetine dönüştürün veya tam tersini yapın.

Giriş
Çıkış

docker run'dan Compose'a Dönüştürme

Bir docker run komutunu yapıştırın ve bu araç bunu docker-compose.yml hizmetine dönüştürür; görüntü, portlar, birimler, ortam değişkenleri, ağ ve yeniden başlatma ilkesi compose eşdeğerlerine eşlenir. Yön seçeneğini değiştirin ve tersine de çalışır: bir compose dosyasını yapıştırın ve her hizmet için eşdeğer docker run komutunu geri alın; bu, yalnızca bir compose dosyasınız olduğunda ancak tek bir konteyner'ı manuel olarak yeniden oluşturmanız gerektiğinde kullanışlıdır.

Bir satırda birden fazla docker run komutunu yapıştırın ve her biri aynı compose dosyasında ayrı bir hizmet haline gelir — bir avuç geçici konteyner'ı düzgün bir çok hizmetli yığına dönüştürmek için kullanışlıdır. Desteklenen anahtarlar -p/--publish, -v/--volume, -e/--env, --network, --restart, --memory ve --cpus (bir deploy.resources.limits bloğuna eşlenmiş), artı --name, --workdir, --user, --entrypoint, --label ve --hostname içerir. Ortam değişkenleri environment: altında satır içinde kalabilir veya env_file: ile başvurulan oluşturulan bir .env dosyasına taşınabilir ve compose dosya formatı bir sürüm: anahtarıyla veya olmadan yazılabilir.

Her docker run bayrağının bir compose eşdeğeri yoktur — --rm veya --pull gibi şeyler konteyner yaşam döngüsü anahtarlarıdır ve hizmet başına compose ayarı yoktur. Araç bunları sessizce hiçbir zaman bırakmaz: desteklenmeyen bayraklar ait oldukları hizmetin yanında yorum olarak listelenir, böylece tam olarak neyin dönüştürülmediğini görebilirsiniz. "Orijinal bayrak sırasını koru" seçeneğini kapatmak, her listeyi (portlar, birimler, ortam) alfabetik sıraya yerleştirir; bunun yerine yazdığınız sırayı korur, bu da oluşturulan bir diff'i gözden geçirmeyi daha kolay hale getirebilir.

Her şey yerel olarak tarayıcınızda çalışır — hiçbir komut, görüntü adı veya ortam değişkeni başka yere gönderilmez. Sonucu kopyalayın, .txt dosyası olarak indirin veya çıktıyı giriş'e geri gönderin ve bunu geliştirmeye devam edin.

FAQ

Birden fazla docker run komutunu aynı anda dönüştürebilir miyim?
Evet. Satır başına bir docker run komutunu yapıştırın (veya bir komutun satırlar arasında devam etmesi için sondaki backslash'ı kullanın) ve her biri oluşturulan compose dosyasında ayrı bir hizmet haline gelir.
Compose'un ifade edemediği --rm gibi bayraklara ne olur?
Sessizce bırakılmazlar. Desteklenmeyen her bayrak ait oldukları hizmetin yanında yorum olarak listelenir, böylece tam olarak neyin dönüştürülmediğini bilirsiniz.
Ayrıca docker-compose.yml dosyasını docker run komutlarına geri dönüştürür mü?
Evet. Yön seçeneğini "compose → docker run" olarak değiştirin ve bir compose dosyasını yapıştırın; araç her hizmet için bir docker run komutu yazdırır.
Ortam değişkenlerini neden compose dosyası yerine ayrı bir .env dosyasına koysun?
Compose dosyasının kendisi taahhüt edildiğinde, sırları ve ortam değişkenlerini sürüm kontrolünün dışında tutar. "Ayrı .env dosyası" seçeneğini seçin ve araç değişkenleri buraya taşır ve env_file: ile başvurur.
Komutum veya compose dosyam herhangi bir yere yüklendi mi?
Hayır. Dönüştürme tamamen tarayıcınızda JavaScript kullanılarak çalışır — yapıştırdığınız hiçbir şey cihazınızı terk etmez.