Başlığı ne kadar doğru attım bilmiyorum lakin anlatmak istediğim bir çok domain için bir sunucuda uygulama barındırma. Bunu yaparken malesef cpanel veya vestacp deki gibi basit olacağını söyleyemem. Ancak biraz konsol kullanımı ile biraz da docker ile sonuç güzel olacak.
Docker nedir? Docker uygulama sanallaştırmadır. Bu aslında su demek. Normalde bir gerçek makine üzerine birden fazla işletim sistemi kurup bunları VDS/VPS olarak dağıtmak mümkün. Ancak bir işletim sistemi değil uygulamamızı sanallaştırmak istiyoruz. VPS vs Docker noktasında sunu izlemelisiniz. https://www.youtube.com/watch?v=a2yphX31S_Q
Benim yaptığım: ” Azure ve/veya DigitalOcean üzerinde docker yüklü ubuntu makine üzerinde örneğin 100 tane web uygulaması çalıştırmak.” Bunu yaparken de birbirlerinden izole şekilde yapmak. örneğin birisi virus yedi, bozuldu, hacklendi. diğerleri etkilenmeyecek. Elastic search deki açıktan yararlanıp sunucuya spam mail botu yüklenmesi gibi şeyler başımıza gelince bunu yapmayı tercih ettik. Ek olarak bir müşterim elastic search kullanıyor diğerleri sadece php mysql ,başka bir tanesi nodejs+mongodb (deployd) . derken bir sucucuya hepsini kurup çalıştırmak yerine hepsini ayrı dockerlara kurup kardeş kardeş çalışmalarını sağlayacağız. Tabi docker imagelerin nimetlerinden faydalanacağımız için bu kurulumlar basit olacaktır.
Uzatamadan Digital ocean da Docker önyüklü ubuntu image seçiyoruz. Eğer Digitalocean a üye değilseniz bu link ile üye olursanız 10$ kredi sahibi olursunuz. https://www.digitalocean.com/?refcode=61073a69d206
Neyse
Mail adresimize gelen root şifresi ile giriş yapıyoruz.Ardından ilk işimiz **
docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock -t jwilder/nginx-proxy -name nginx-proxymiz
Ardından kurmak istediğimiz docker imajını seçiyoruz. Ben örnek olsun diye wordpress kuracağım.
docker run -e VIRTUAL_HOST=gundogdu.me,www.gundogdu.me -e VIRTUAL_PORT=80 –name gundogdu.me -p 80 -d eugeneware/docker-wordpress-nginx
komutu ile eugeneware/docker-wordpress-nginx reposundaki wordpress i çekiyoruz. Lokalde yoksa internetten çekeceği için biraz uzun sürebilir. Burda 2 önemli nokta var birisi VIRTUAL_HOST kısmı bu kısma ekleyeceğimiz domain isimleri bizi gundogdu.me isimli eugeneware/docker-wordpress-nginx konteiner yönlendirecektir.ikinci onemli nokta virtual_port ki bu da bizim port numaramız.
Resimdeki gibi www ve Root dizin için dns ayarlarımızı yapıyoruz ve hazır.
ikinci kontainer olarak da elastic search kuruyorum.
docker run -e VIRTUAL_HOST=elasticsearch.gundogdu.me -e VIRTUAL_PORT=80 –name elasticsearch -p 9300 -d elasticsearch
gibi. Eğer sorun olursa iletişim bölümünden veya yorum ile bana ulaşabilirsiniz. Umarım faydalı olur.
Kaynak ** :http://jasonwilder.com/blog/2014/03/25/automated-nginx-reverse-proxy-for-docker/