Centos 7.5 üzerine kurulu NGINX, 80 numaralı bağlantı noktasını dinliyor ve trafiği Gunicorn sunucusuna yönlendiriyorum. Bu sunucunun asıl amacı budur ve bunlar yerel olarak kurulmuş uygulamalardır, şu ana kadar hiçbir kapsayıcı yoktur.
Şimdi, Docker konteynerlerinde bazı hizmetleri çalıştırmak istiyorum ve farklı alt alan adlarına (veya belki de limanlarına) sahip olmak trafiği ilgili konteynerlere yönlendirmek istiyorum.
Özel bir örnek - SVN sunucusu
Tüm Docker konseptinde çok yeniyim ve bazı kaplar için özel dokümantasyon eksikliği beni gerçekten şaşırtıyor. Bu SVN sunucu kapsayıcısında biraz ilerleme kaydetmeyi başardım . Kullandığım komut bu:
docker run -d --name svn-server -p 80:80 -p 3960:3960 -v /home/svn:/home/svn elleflorio/svn-server
Şu ana kadar sahip olduğum şey bu:
- SVN sunucusuna http: // mysite / svn (80 numaralı bağlantı noktası) üzerinden erişilebilir .
- Kap, yerel bir dizine başarıyla bağlanır ve depo silinirse bile depo verilerini tutar; bu harika bir şeydir.
- Komutları kabın içinde çalıştırabilir, kullanıcılar oluşturabilir, depolar ekleyebilirim.
Sorunlar bunlar:
- 80 numaralı limana da ihtiyaç duyduğundan NGINX'i durdurmak zorunda kaldım.
- Konteynırın farklı bir portta çalışmasında başarılı olamadım, sadece
-p
parametreyi değiştirmeye çalıştığımda işe yaramadı ; SELinux'u geçici olarak etkisiz hale getirmeyi denedim, bu da yardımcı olmadı. - Kapsayıcıyı farklı bir bağlantı noktasında çalıştırabilirsem, trafiği bir alt etki alanından bu bağlantı noktasına yönlendirebilirim, ancak Docker kapsayıcılarıyla çalışmak için daha iyi bir uygulama olduğuna eminim.
- Bunu işe almayı başarırsam - kabın ana bilgisayar yeniden başlatılmasından sonra yeniden başlatıldığından nasıl emin olabilirim?