O Bir tahminim var liman işçisi ölçüde benim webdev iş akışını geliştirmek - ama yığınına liman işçisi ekleyerek bir proje yaklaşımı nasıl Oldukça kafamı sarmak için yönetilen değil.
Temel yazılım yığını şöyle görünür:
Yazılım
Özel LAMP yığını sağlayan Docker görüntüleri
- Birkaç modül ile Apache
- MYSQL
- PHP
- Silverstripe gibi bazı CMS
GYTE
İş Akışı
İş akışının bir şekilde aşağıdakine benzediğini hayal edebiliyorum:
gelişme
Dockerfile
Yukarıda belirtilen gereksinimleri karşılayan bir LAMP kabını tanımlayan bir yazın- REQ: Makine, önyüklemeden hemen sonra apache / mysql'yi başlatmalıdır
- Docker görüntüsünü oluşturun
- CMS'yi çalıştırmak için gereken dosyaları örn.
~/dev/cmsdir
- Put
~/dev/cmsdir/
sürüm kontrolü altında
- Put
- Liman işçisi kabı çalıştırın ve bir şekilde monte
~/dev/cmsdir
etmek/var/www/
kabın üzerine - Veritabanını doldurun
- Çalışmak
/dev/cmsdir/
- Docker container'ı tamamlama ve kapatma
yayılma
- Uzak ana bilgisayarı kurun (ör. Yanıtlanabilir ile)
- Kapsayıcı görüntüsünü uzak ana bilgisayara aktarın
- Getirme
cmsdir
-proje aracılığıyla git - , Liman işçisi kabı çalıştırın veritabanında çekin ve montaj
cmsdir
içine/var/www
Şimdi, bunların hepsi kağıt üzerinde çok güzel görünüyor, ANCAK bunun doğru yaklaşım olup olmayacağından emin değilim.
Sorular:
Yerel olarak geliştirme yaparken, veritabanının konteyner örneğinin yeniden başlatmaları arasında kalmasını nasıl sağlayabilirim? Yoksa konteyneri aşağı döndürmeden önce her seferinde sql-dump'ı çalıştırmam gerekir mi?
Db ve apache sunucusu için ayrı konteyner örneklerim olmalı mı? Veya yukarıdaki kullanım durumu için tek bir konteynere sahip olmak yeterli mi?
Veritabanı ve sunucu için ayrı kaplar kullanıyorsanız, aynı anda yukarı ve aşağı döndürmeyi nasıl otomatikleştirebilirim?
/dev/cmsdir/
Kapsayıcılar/var/www/
dizinine gerçekte nasıl bağlanabilirim? Bunun için veri hacimlerini kullanmalı mıyım ?Herhangi bir tuzağı kaçırdım mı? Basitleştirilebilecek herhangi bir şey?