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
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