İçeriğe geç
ToolMug

docker run’dan Docker Compose’a

Bir veya daha fazla docker run komutunu yapıştırıp eşdeğer compose.yaml dosyasını alın. Portlar, birimler, ortam değişkenleri, ağlar, yeniden başlatma, bellek ve CPU sınırları, günlük kaydı ve sağlık kontrolleri dönüştürülür; dönüştürülemeyen bayraklar ayrıca listelenir.

Tarayıcınızda çalışır — girdiğiniz hiçbir şey yüklenmez

docker run → Docker Compose
docker run
Docker Compose

Nasıl kullanılır

  1. Soldaki alana docker run komutlarını yapıştırın. Sondaki ters eğik çizgili çok satırlı komutlar çalışır; birden fazla komutu yeni satır, noktalı virgül veya && ile ayırın.
  2. Compose dosyası sağda görünür. Her komut --name ile verilen adla veya bu yoksa görüntü adıyla servis olur.
  3. Dönüştürülmemiş alanlar için sarı notu kontrol edin, compose.yaml dosyasını kopyalayın veya indirin ve docker compose up -d çalıştırın.

Seçeneklerin açıklaması

Desteklenen bayraklar
-p, -v, --mount, -e, --env-file, --name, --restart, --network, -w, -u, -h, --entrypoint, -l, --add-host, --dns, --cap-add/drop, --device, -m, --cpus, --shm-size, --ulimit, --log-driver/--log-opt, --health-*, -i, -t, --privileged, --init, --read-only ve daha fazlası.
Adlandırılmış birimler ve ağlar
pgdata:/data gibi adlandırılmış birimler üst düzey volumes altında tanımlanır. Özel ağlar external true olarak tanımlanır; bu, mevcut ağın kullanılacağı anlamına gelir. host ve none ağları network_mode olur.
Portlar
Port eşlemeleri her zaman tırnak içine alınır. YAML 1.1, 22:22 gibi değerleri taban-60 sayıları olarak okur; Docker belgeleri portların dize olarak yazılmasını önerir.
Yoksayılan bayraklar
-d ve --rm Compose karşılığı olmadığı için kaldırılır. --gpus gibi desteklenmeyen bayraklar notta listelenir.

Örnek

docker run -d --name web --restart unless-stopped -p 8080:80 \
  -v ./html:/usr/share/nginx/html:ro -e TZ=Asia/Shanghai --memory 512m nginx:1.27

şuna dönüşür:

services:
  web:
    image: nginx:1.27
    container_name: web
    restart: unless-stopped
    mem_limit: 512m
    ports:
      - "8080:80"
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - ./html:/usr/share/nginx/html:ro

Sıkça sorulan sorular

Dosyanın version satırına ihtiyacı var mı?

Hayır. Güncel Docker Compose (v2) üst düzey version alanını artık kullanmaz; varsa uyarıyla yok sayar.

Ortam değişkenlerindeki parolalarım yükleniyor mu?

Hayır. Ayrıştırma ve dönüştürme tarayıcınızda çalışır ve sunucuya hiçbir şey gönderilmez.

Tırnak içindeki bağımsız değişkenleri ele alıyor mu?

Evet. Tek tırnak, çift tırnak ve ters eğik çizgi kaçışları kabuk kurallarını izler; `-e "MSG=hello world"` tüm değeri korur.

Gizlilik

Bu araç tamamen tarayıcınızda çalışır. Dosyalarınız ve metinleriniz cihazınızda işlenir, sunucularımıza asla yüklenmez.

İlgili araçlar