0

Sorularım çok basitse özür dilerim, ama docker'ı öğrenmeye başladım ve bana açık olmayan bazı kavramlar var.Dockerize Uygulamaları veya Makineleri?

Docker'ı tamamen işlevsel bir sanal makine olarak düşünüyorum ve bu nedenle bir sunucuyu bir dizi hizmetle birlikte bir konteynere dönüştürmeyi düşündüm. Sonra "dockerizing" uygulamaları (örneğin postgresql) hakkında okumaya başladım ve bir Docker file can only have one default instruction, when executing a container olduğunu öğrendim. supervisor'u kullanarak çoklu yürütme talimatlarını koordine etmenin mümkün olduğunu okudum, ancak bunun gerçekten en iyi yaklaşım olup olmadığını veya microservices architecture'a doğru eğilmenin daha iyi olup olmayacağını merak etmeye başladım?

Durumumu daha iyi ifade etmek için kullanım durumumu açıklamak istiyorum. Tomcat (servlet aracılığıyla dağıtılan bazı hizmetlerle) ve postgreSQL veritabanı sağlayan bir ortam oluşturmak istiyorum. İdeal olarak, hizmetlerin (ve veritabanının) aynı ana bilgisayarda (farklı bağlantı noktalarında) çalışmasını istiyorum.

Tomcat için ve bir tanesi Veritabanı için bir kapsayıcı oluşturmak en iyi yöntem midir, yoksa bunları aynı kapsayıcıya göndermek daha mı iyi?

İki farklı kapsayıcı oluşturursam, bunları düzenlemek için hangi çerçeveyi kullanmalıyım? Bu görev için Docker compose uygun mu?

+1

http://stackoverflow.com/questions/16047306/how-is-docker-different-from-a-normal-virtual-machine?rq=1 adresini okumalısınız. – user2915097

cevap

3

1)

Ben tamamen işlevsel sanal makine olarak docker düşünmek ve bu nedenle ben bir kap içine, hizmetlerin bir dizi ile bir sunucu dönüştürülmesi düşünülebilir.

NO NO and NO! Neredeyse her durumda sanal makine konteyner

başına

Run tek bir süreç değildir, yalnızca tek bir kap içinde tek bir süreç çalışmalıdır. Uygulamaları birden fazla konteynere ayırmak, yatay olarak ölçeklendirmeyi ve kapları yeniden kullanmayı çok daha kolay hale getirir. Bu hizmet başka bir hizmete bağlıysa, konteyner bağlantısı kullanın. Dockerfiles https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/

2)

yazma Ve iki farklı kaplar oluşturursanız, hangi çerçeve onları orkestra için kullanması gereken için

Oku En iyi uygulamalar? Docker bu görev için ayrılmış mıdır?

Docker-compose ile başlamanız gerekir. Daha aşina olacağınız zaman, iyi kurulmuş bir kararın sahibi olursunuz.