← Yazılar

Portainer kullanımı: heyecanını kaybeden dev’lere şifa niyetine

Docker imajlarını, konteynerlerini ve stack'lerini tarayıcıdan yönetmek. Google Cloud sanal makinesinde adım adım kurulum.

·4 dk okuma·İlk olarak LinkedIn üzerinde yayımlandı

Bu yazının İngilizce sürümü de var

İçindekiler
  1. Aşamalar
  2. Adım 1, google cloud üzerinde sanal makine oluşturma
  3. Adım 2, ıp adresini statik hale getirme
  4. Adım 3, sanal makineye bağlanma
  5. Adım 4, sanal makineye docker ve portaıner kurulumu
  6. Adım 5, yayınlanan portun dışarıdan erişime açılması
  7. Adım 6, portaıner kullanımı
  8. Adım 6.0, portaıner’e ilk giriş
  9. Adım 6.1, örnek template kurulumu wordpress

Portainer kullanımı: heyecanını kaybeden dev’lere şifa niyetine

Merhabalar. Uzun zamandır bir paylaşım yapmıyordum fakat kullandığım bu tool işlerimi öylesine kolaylaştırdı ki, insanlarla bunu paylaşmamanın bencillik olacağını düşündüm. Bundan dolayı bu tool’un kullanımını GCloud üzerinde bir sanal makine oluşturup anlatacağım.

Öncelikle Portainer nedir, bundan bahsedeyim. Portainer, Docker imagelerini, containerlerini, volumelerini ve stack’lerini kontrol edebildiğiniz, bunları silip ekleyebildiğiniz bir web uygulaması. Ayrıca kendisi de bir docker imajı. Mesela siz bunu kurduğunuz zaman, sanal makinenize hiç bağlanmadan direkt portainer üzerinden tüm docker imajlarını web serverinizin herhangi bir portundan yayınlayabilirsiniz. Sanal makinenize hiç bağlanmadan wordpress kurabilir, hiç ftp bağlantısı yapmadan bu websiteyi dizayn etmek için file browser yükleyebilirsiniz. Hatta ve hatta sanal makinenize webten erişmek için web terminal bile yükleyebilir, telefonunuzdan dahi sanal makinenize bağlanabilirsiniz. Bunları size GCloud üzerinde uygulamalı olarak anlatmaya çalışacağım. Ben bu işlemleri GCloud üzerindeki sanal makinelerle yapsam da siz herhangi bir web server üzerinde yapabilirsiniz.

Aşamalar

Adım 1, google cloud üzerinde sanal makine oluşturma

Google Cloud üzerinde bir sanal makine oluşturuyoruz. Herhangi bir özellikteki sanal makine olabilir. En düşük özelliktekilerden birini oluşturabilirsiniz deneysel amaçla kullanmak için.

Önemli Not: Sanal makine oluştururken HTTP/HTTPS trafiğine izin ver demeniz gerekiyor. Çünkü sanal makineye statik ip kullanarak dışarıdan erişeceğiz. Oluştururken aşağıda paylaştığım konfigürasyonları onaylamanız gerekiyor.

Adım 2, ıp adresini statik hale getirme

Sanal makine örnekleri kısmından oluşturduğumuz sanal makinemizin harici ip adresimizi VPC Network kısmından statik hale getiriyoruz.

Adım 3, sanal makineye bağlanma

Sanal makine örnekleri kısmından bağlantı oluştur kısmındaki tarayıcı penceresinde aç seçeneğine tıklıyoruz.

Adım 4, sanal makineye docker ve portaıner kurulumu

Yeni açılan penceredeki terminale aşağıdaki komutları sırasıyla giriyoruz.

Docker kurulumu için:

sudo apt install docker.io

Docker servisinin başlatılması için:

systemctl start docker
systemctl enable docker

Portainer’ı server’a çekmek için:

sudo docker pull portainer/portainer
-ce

Portainer’ı harici ip adresinin 9000 portunda yayınlamak için:

sudo docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce

Adım 5, yayınlanan portun dışarıdan erişime açılması

Bundan sonra yapmamız gereken tek şey web serverinizin güvenlik duvarından yayın yaptığınız portu dışarıdan erişime açmak. Ben kendi serverimde örnek olarak 9000,9001,9002,80(url’in kendisi) ve 22(ssh için) portunu dışarıdan erişime açtım. Bunlara portainer üzerinden container oluşturarak farklı uygulamaların imajlarını kurmayı hedefliyorum.

Adım 6, portaıner kullanımı

Adım 6.0, portaıner’e ilk giriş

Portainer’e ulaşmak için yapmamız gereken şey oluşturduğumuz sanal makinenin harici ip’sine (public ip) yayın yaptığımız portu eklemek. Misal olarak benim sanal makinemin ip’si 35.193.78.228 ise ve ben portainer’i 9000 portu üzerinde yayın yapıyorsam 35.193.78.228:9000 adresine bağlandığımda portainer’e erişeceğim demektir.

İlk girişte admin kullanıcısı oluşturma sayfası çıkıyor. Admin kullanıcısını oluşturup bundan sonra bu kullanıcıyı kullanıyorsunuz. Ayrıca çok kullanıcılı projeler için farklı kullanıcılar ekleyebilir ve bu farklı kullanıcılara farklı roller tanımlayabilirsiniz.

Önemli Not: Hemen sonrasında gelen sayfada Docker’ı seçerek devam etmeye dikkat edin.

Kurulum tam manasıyla tamamlandıktan sonra ilk olarak karşınızdaki ekran çıkacak.

Adım 6.1, örnek template kurulumu wordpress

Yukarıda çıkan local yazısına tıkladıktan sonra sol taraftan App Templates kısmına tıklıyor ve en aşağıdaki Wordpress’in üzerine tıklıyoruz.

Tıkladığımız zaman bizden öncelikli olarak MySQL’i kurması için bir root kullanıcısı parolası oluşturmamızı isteyecek. Ayrıca stack için de ne olduğu önemli olmayan rastgele bir isim.

Deploy’a tıkladıktan sonra işlemin bitmesini bekliyoruz sonrasında ise container kısmına gidiyoruz.

Yukarıdan da gördüğümüz üzere Wordpress yayında fakat 32768 portunda yayında. Biz bunu direkt url’nin ana portunda yani 80’de yayınlamak istiyoruz. Bundan dolayı wordpress ile alakalı containere tıklayıp orada da Duplicate/Edit kısmına tıklıyoruz.

Sonrasında ise yukarıda kırmızı kutu içerisine alınmış host edilecek port kısmına host etmek istediğimiz 80 portunu yazıyor ve sonrasında deploy’a tıklıyarak container’ı replace ediyoruz.

Ve hayırlı uğurlu olsun. Wordpress kurulumunu da serverimiza bu sayede yapmış oluyoruz. Bir sonraki yazıda sizlere bu wordpress’teki php dosyalarına bir web editörle hiçbir bilgisayara dahi gereksinim duymadan nasıl erişip düzenleyebildiğmi, portainer’i kurduğum veya başka bir yerdeki sunucuma bir web terminal üzerinden telefonla nasıl eriştiğimi anlatacağım.

Kısacası Portainer’de uzmanlaştıkça web ile alakalı, ağ ile alakalı işlerinizin deployment, development sürelerini oldukça kısaltıyorsunuz. Daha iki gün önce öğrendiğim bu tool benim işlerimi oldukça kolaylaştırdı.

Esenlikle kalın!