docker run'dan Compose'a
Satır sonu devamlarıyla birlikte bir docker run komutu yapıştırın ve karşılık gelen Compose servisini kopyalayın. Ayrıştırma tarayıcınızda yapılır.
docker-compose.yml
services:
web:
image: nginx:1.27-alpine
container_name: web
restart: unless-stopped
ports:
- "8080:80"
volumes:
- "./site:/usr/share/nginx/html:ro"
environment:
- "TZ=Europe/Istanbul"
Bu araç hakkında
Compose, uzun bir run komutunun okunabilir hâlidir: her bayrak, kod incelemesinde gözden geçirilebilen bir anahtara dönüşür. Portlar, birimler, ortam değişkenleri, etiketler, yetenekler ve ek adresler YAML listesi olur; --name, --restart, --user ve --workdir tek anahtar olur.
Adlandırılmış birimler ve kullanıcı tanımlı ağlar üst düzeyde de tanımlanmalıdır; çıktı bunları sizin için ekler — ağları external olarak, çünkü run komutu onların zaten var olduğunu varsayar. Compose karşılığı olmayan bayraklar sessizce atılmaz, çıktının üstünde listelenir.
Sık sorulan sorular
- version anahtarı hâlâ gerekli mi?
- Hayır. Compose V2 onu yok sayar ve uyarı verir, bu yüzden varsayılan olarak eklenmez. Seçenek eski araçlar için duruyor.
- Ağım neden external olarak işaretlendi?
- --network içeren bir run komutu ağın zaten var olmasını bekler. Compose'un ağı oluşturmasını istiyorsanız external satırını silin.
- Gizli bilgiler nasıl ele alınıyor?
- -e ile verilen değerler olduğu gibi kopyalanır. Gerçek sırları depoya göndermeden önce env_file veya Docker secrets'a taşıyın.