Yazılım Geliştiriciler için Azure: App Services – Bölüm 5 (Docker Image)
0

Azure Container Registry makalesinde container içerisinde çalışan basit bir ASP.NET Core uygulaması hazırlayıp repository’ye eklemiştik. Bu yazıda da Azure Container Registry üzerinde yer alan bir imajı Azure App Services üzerinden nasıl çalıştırıldığına bakacağız.

Resim-1‘de daha önceki bölümlerden de hatırlayacağınız şekilde bir web app tanımı görecekseniz. Bu kez farklı olarak Publish kısmında Code yerine Docker Image seçiyoruz ve en altta da Configure container seçeceği çıkıyor. Linux container kullanacağımız için de OS seçeneğini Linux olarak seçiyoruz.

Resim-1

Configure container altında ise Single Container ile henüz preview aşamasında bulunan Docker Compose ve Kubernetes seçenekleri bulunuyor. Bunların altında ise aşağıdaki seçecekler yer alıyor.

  • QuickStart: Hazır örneklerin bulunduğu kısım. NGINX (Single Container), Python “Hello World” (Single Container), statik bir html site (Single Container), Pyhton Flask with Redis (Docker Compose, Kubernetes), Multi-container Wordpress (Docker Compose, Kubernetes) ve ASP.NET Core with SQL Server (Docker Compose) gibi örnek uygulamalar bulunuyor.
  • Azure Container Registry: ACR üzerinde imajları kullanabileceğimiz seçecek (Resim-2)
  • Docker Hub: Public ve private repository’lere erişebilirsiniz. Docker compose dosyası kullanıyorsunuz.
  • Private Registry: Özel bir container registry’niz varsa erişim bilgilerini girerek kullanabilirsiniz.

Resim-2

Azure Container Registry altında yer alan container imajımızı belirledikten sonra Apply tuşuna basarak deployment’ yapabiliriz. Burada yer alan Startup File seçeneğinde; Node.js uygulamaları için PM2 konfigurasyon ya da script dosyası, .NET Core için dotnet <dll_adı>.dll şeklindeki komutu; Ruby için ise ruby script’i girebilirsiniz.

Deployment sonrasında da Settings/Container settings altınan bu ayarlara ulaşabilir ve değişiklik yapabilirsiniz. Burada genel olarak logları da takip edebiliyorsunuz.

Resim-3

Web App linkini tıkladığınızda ise App Service’in container üzerindeki uygulamanızı çalıştırdığını görebilirsiniz (Resim-4).

Resim-4

Container üzerinde bir sorun olduğu zaman loglara nasıl ulaşabilirim diye düşünüyorsanız Kudu Dashboard
üzerinde yer alan Bash console’u kullanarak Log Files klasörü altına bakabilirsiniz. Ayrıca https://<uygulama_adi>.scm.azurewebsites.net/api/logs/docker linkini kullanarak (Resim-5) docker loglarına ait url bilgilerine ulaşabilirsiniz.

Resim-5

Burada 2 tür log dosyası bulunuyor. Docker log ile Container settings altında gördüğünüz loglara ulaşabilirsiniz (Resim-6).

Resim-6

Default docker log altında ise docker logs komutu ile göreceğiniz logları görebiliyorsunuz (Resim-7).

Resim-7

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

https://docs.microsoft.com/en-gb/azure/app-service/containers/app-service-linux-faq

TAGs: Azure, Azure Portal, Yazılım Geliştiriciler için Azure, Azure App Service, Kudu, Azure Container Registry, ACR, PowerShell, Docker, Containers, Kubernetes, Dockerfile, Linux, Ubuntu, .NET, .NET Core, ASP.NET, MVC

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Mert Yeter, lisans eğitimini Yıldız Teknik Üniversitesi'nde, yüksek lisans eğitimini ise Bahçeşehir Üniversitesi'nde tamamlamıştır. Yazılım dünyasına üniversitenin ilk yıllarında aldığı QBasic ile başlayan Mert, .NET ve SQL Server gibi Microsoft teknolojileri ile devam etmiş; yüksek lisans tezini ise Linux konusunda yapmıştır. Netaş ve Ziraat Teknoloji gibi sektörün önde gelen firmalarında C#, .NET, SQL Server, Cisco Contact Center ürünleri ve Linux üzerine çalışmış, bir çok firmaya da bu konularda danışmanlık vermiştir.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir