Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 9930|Yanıt: 2

dockerfile ile docker-compose arasındaki fark

[Bağlantıyı kopyala]
Yayınlandı 15.11.2019 09:33:13 | | |
dockerfile ile docker-compose arasındaki fark
Docker'ın kullanım sürecini kısaca anlayalım; bu süreç görüntü oluşturma ve konteyner başlatma olarak ayrılır.

Görüntü oluşturma: yani, kurulum ve işletim için gereken ortamı, program kodunu vb. içeren bir görüntü oluşturmak. Bu oluşturma süreci dockerfile kullanılarak yapılır.

Konteyner Başlatma: Konteyner sonunda oluşturulmuş görüntü çekilerek ve hizmet bir dizi çalışan komut (port eşleme, harici veri montajı, ortam değişkenleri vb.) aracılığıyla başlatılır. Tek bir konteyner için, bu docker run ile çalıştırılabilir.

Birden fazla konteyner çalıştırmayı içeriyorsa (örneğin servis orkestrasyonu), docker-compose ile uygulanabilir; bu da birden fazla konteyneri bir servis olarak kolayca çalıştırabilir (tabii ki sadece bir konteyner) ve ölçekleme (hizmet ölçeklendirme) işlevini sağlar.

Kısa özet:

1.dockerfile: görüntüyü oluşturuyor;

2. Docker Run: Konteyneri başlatmak;

3. docker-compose: Servise başla;

En baştan başla.
Docker kullanmıyorsanız, wordpress'i nasıl geliştirirsiniz? Önce bir sunucu bulun, işletim sisteminin Ubuntu olduğunu varsayın ve ardından dokümantasyonu adım adım takip ederek komutu yazıp yapılandırmayı yazın, değil mi?
Docker kullanmak ne olacak? Sadece bir sunucu bulun, hangi işletim sistemi olursa olsun, docker'ı desteklediği sürece, docker Ubuntu'yu çalıştırıyor, docker resmi kaynaktan en son Ubuntu imajını çekiyor, bunu Ubuntu sanal makinesini açtığınız gibi düşünebilirsiniz ve adım adım kurabilirsiniz, yukarıda olduğu gibi.

Ancak bu kurulumun önemli bir dezavantajı var: konteyner silindikten sonra hiçbir iş yapılmamış olur. Tabii ki, docker commit kullanarak bunu bir görüntü olarak kaydedebilirsiniz, böylece tekrar kullanılabilir.

Ancak görüntü genellikle büyük olur ve sadece görüntüyü paylaşırsanız, başkaları görselinizin içeriğini bilmez, bu da paylaşmak ve tekrar kullanmak için uygun değildir.
Sezgisel bir çözüm, tüm kurulum sürecini kaydeden bir script yazmaktır; böylece tekrar kurduğunuzda scripti çalıştırabilirsiniz. Dockerfile, bir görüntü oluşturma sürecini belgeleyen bu tür bir betiktir.
Dockerfile ile sadece docker derlemesini çalıştırın. Bir görsel oluşturabilirsiniz ve Dockerfile metin dosyasıdır, bu da çok kolay değiştirilebilir.

Artık bir WordPress görseliniz var, WordPress'i çalıştırmak için sadece docker çalıştırmanız yeterli.

Sadece WordPress ise, bu yeterli. Ancak çoğu zaman, bir hizmeti başlatmak için nginx, mysql, posta servisi gibi birden fazla görsel gerekir.
Daha yaygın olarak, nginx, mysql ve smtp hepsi görüntüdür ve bu görseller birlikte bir projeye hizmet eder.
Docker-Compose bu sorunun çözümüdür. Projenizin hangi görüntülere ihtiyacı olduğunu, her görüntüyü nasıl yapılandıracağını, hangi hacimleri monte edeceğinizi ve benzeri bilgileri docker-compose.yml'de yer almaktadır.
Bir hizmeti başlatmak için sadece docker-comppose yapmanız yeterli ve durdurmak için docker-compse stop/down yapmanız yeterlidir

Kısacası, bir Dockerfile tek bir görüntünün yapım sürecini kaydeder docker-compse.yml bir projenin yapım sürecini (genellikle birden fazla görüntü) kaydeder.

Bazı eğitimlerin dockerfile+docker-compose kullandığını çünkü docker-compose.yml kendisinin imaj oluşturma hakkında bilgi içermediğini ve eğer görüntü docker kayıt defterinden alındığında dockerfile gerekmediğini söylediniz; Eğer görüntünün oluşturulması gerekiyorsa, bir Dockerfile sağlanmalıdır.

docker-compposeBu bir orkestrasyon konteyneridir. Örneğin, bir php görseliniz, bir mysql göreviniz ve bir nginx göreviniz var. Docker-compose yoksa, her başlattığınızda her konteynerin başlangıç parametrelerini, ortam değişkenlerini, konteyner adını, farklı konteynerlerin bağlantı parametrelerini ve bir dizi işlemi yazmanız gerekir ki bu oldukça zahmetlidir. docker-composer kullandıktan sonra, bu komutları aynı anda docker-composer.yml dosyaya yazabilirsiniz ve tüm ortamı (3 konteyner dahil) her başlattığınızda sadece docker-composer up komutu yazmanız yeterlidir.

dockerfileRol, sıfırdan bir ayna görüntüsü oluşturmaktır. Kurulum ve çalışma için gereken ortamı, program kodunu vb. içerir. Bu oluşturma süreci dockerfile kullanılarak yapılır. Dockerfile - Docker build komutu için hazırlanmış, bağımsız bir görüntü oluşturmak için ayrıca docker-compose ile canlı derleme için de kullanılabilir
docker-compose.yml - Docker-Compose için aynı anda birden fazla konteyneri yönetebilen, aralarındaki ilişkileri, resmi bir görüntüyle mi yoksa kendiniz mi oluşturacağınızı bilebilen, çeşitli ağ portu tanımları, depolama alanı tanımları vb.




Önceki:"Site NAME" sitesi için URL "http://xx/" kaydedilemedi...
Önümüzdeki:Docker, görüntü konumunu Windows sistemi altında saklar
 Ev sahibi| Yayınlandı 18.12.2022 14:56:50 |
centos installation Docker Compose tutorial
https://www.itsvse.com/thread-5164-1-1.html
 Ev sahibi| Yayınlandı 5.03.2025 10:37:33 |
BuildKit, eski yapıcının yerini alan geliştirilmiş bir backend. 23.0 sürümünden itibaren, Docker Desktop ve Docker Engine kullanıcıları için varsayılan oluşturucu olarak BuildKit.

Bağlantı girişi görünür.
Bağlantı girişi görünür.
Bağlantı girişi görünür.

Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com