Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğretici, Docker'ı kullanarak Spring Boot uygulamanızı kapsayıcıya almayı ve kendi Docker görüntünüzü Azure App Service içindeki bir Linux konağına dağıtmayı gösterir.
Önkoşullar
Bu öğreticideki adımları tamamlamak için aşağıdaki önkoşullara ihtiyacınız vardır:
- Azure aboneliği; henüz bir Azure aboneliğiniz yoksa MSDN abone avantajlarınızı etkinleştirin veya ücretsiz bir Azure hesabına kaydolun.
- Azure Command-Line Arabirimi (CLI).
- Desteklenen bir Java Geliştirme Seti (JDK). Azure'da geliştirme yaparken kullanılabilecek JDK'ler hakkında daha fazla bilgi için bkz. Azure'da Java desteği ve Azure Stack.
- Apache Maven derleme aracı (Sürüm 3).
- Git istemcisi.
- Docker istemcisi.
Not
Bu öğreticinin sanallaştırma gereksinimleri nedeniyle, bir sanal makinede bu makaledeki adımları uygulayamazsınız. Sanallaştırma özellikleri etkinleştirilmiş bir fiziksel bilgisayar kullanmanız gerekir.
Docker üzerinde Spring Boot için Başlangıç web uygulamasını oluşturma
Aşağıdaki adımlarda basit bir Spring Boot web uygulaması oluşturmak ve yerel olarak test etmek için gereken adımlar izlenir.
Bir komut istemi açın ve uygulamanızı barındıracak yerel bir dizin oluşturun ve bu dizine geçin; örneğin:
mkdir SpringBoot cd SpringBootDocker'da Spring Boot Getting Started örnek projesinin kopyasını oluşturduğunuz dizine alın; örneğin:
git clone https://github.com/spring-guides/gs-spring-boot-docker.gitDizini tamamlanmış proje olarak değiştirin; mesela:
cd gs-spring-boot-docker/completeMaven kullanarak JAR dosyasını oluşturun; mesela:
mvn packageWeb uygulaması oluşturulduktan sonra dizini JAR dosyasının
targetbulunduğu dizinle değiştirin ve web uygulamasını başlatın; örneğin:cd target java -jar spring-boot-docker-complete-0.0.1-SNAPSHOT.jar --server.port=80Web tarayıcısını kullanarak web uygulamasına yerel olarak göz atarak web uygulamasını test edin. Örneğin, curl kullanılabilir durumdaysa ve Tomcat sunucusunu 80 numaralı bağlantı noktasında çalışacak şekilde yapılandırdıysanız:
curl http://localhostŞu iletiyi görürsünüz: Hello Docker World
Özel Docker kayıt defteri olarak kullanmak için bir Azure Container Registry oluşturma
Aşağıdaki adımlarda, Azure portalını kullanarak azure container registry oluşturma adımları açıklanmaktadır.
Not
Azure portalı yerine Azure CLI kullanmak istiyorsanız, Azure CLI 2.0kullanarak özel Docker kapsayıcı kayıt defteri oluşturma'daki adımları izleyin.
Azure portal'a gidin ve oturum açın.
Azure portalında hesabınızda oturum açtığınızda, Azure portalı kullanarak özel Docker kapsayıcı kayıt defteri oluşturma makalesindeki adımları izleyin. Aşağıdaki adımlar, zaman kazanmak adına bu yönergeleri yeniden ifade eder.
Yeni'nin menü simgesini seçin, Kapsayıcılar'ı ve ardından Azure Container Registry'ı seçin.
oluşturmaKapsayıcı kayıt defteri oluştur sayfası görüntülendiğinde Kayıt defteri adı, Abonelik, Kaynak grubu ve Konum girin. Ardından oluştur'i seçin.
Ayarlar'ın altında Erişim anahtarları'nı seçin ve Yönetici kullanıcı için Etkin anahtarını açın.
Maven'ı Azure Container Registry'nize görüntü oluşturacak şekilde yapılandırma
Spring Boot uygulamanızın tamamlanmış proje dizinine gidin (örneğin, C:\SpringBoot\gs-spring-boot-docker\complete veya /users/robert/SpringBoot/gs-spring-boot-docker/complete ) ve pom.xml dosyasını bir metin düzenleyicisiyle açın.
Bu öğreticinin önceki bölümündeki
jib-maven-pluginöğesinin en son sürümü, oturum açma sunucusu değeri ve Azure Container Registry erişim ayarlarıyla pom.xml dosyasındaki<properties>koleksiyonunu güncelleştirin. Mesela:<properties> <jib-maven-plugin.version>3.2.0</jib-maven-plugin.version> <docker.image.prefix>wingtiptoysregistry.azurecr.io</docker.image.prefix> <java.version>1.8</java.version> </properties>jib-maven-pluginöğesini<plugins>dosyasındaki koleksiyonuna ekleyin. Bu örnek 3.2.0 sürümünü kullanır.<from>/<image>taban görüntüsünü,mcr.microsoft.com/openjdk/jdk:11-ubuntuburada belirtin.<to>/<image>içindeki temel imajdan oluşturulacak son imajın adını belirtin.Kimlik doğrulaması
{docker.image.prefix}, daha önce gösterilen kayıt defteri sayfasındaki Oturum açma sunucusudur .{project.artifactId}, projenin ilk Maven derlemesinden JAR dosyasının adı ve sürüm numarasıdır.<plugin> <artifactId>jib-maven-plugin</artifactId> <groupId>com.google.cloud.tools</groupId> <version>${jib-maven-plugin.version}</version> <configuration> <from> <image>mcr.microsoft.com/openjdk/jdk:11-ubuntu</image> </from> <to> <image>${docker.image.prefix}/${project.artifactId}</image> </to> </configuration> </plugin>Spring Boot uygulamanızın tamamlanmış proje dizinine gidin ve uygulamayı yeniden derlemek ve kapsayıcıyı Azure Container Registry göndermek için aşağıdaki komutu çalıştırın:
az acr login --name wingtiptoysregistry && mvn compile jib:build
Not
az acr login ... komutu Azure Container Registry'de oturum açmaya çalışır. Aksi takdirde, <username> için <password> ve jib-maven-plugin sağlamanız gerekir. Daha fazla bilgi edinmek için bkz. Jib'de Kimlik Doğrulama Yöntemleri .
Görüntünüzü Azure Container Registry göndermek için Jib kullandığınızda, görüntü Dockerfile'ı kullanmaz. Daha fazla bilgi için bu makaleye bakın.
Kapsayıcı görüntünüzü kullanarak Azure App Service üzerinde Linux üzerinde web uygulaması oluşturma
Azure portal'a gidin ve oturum açın.
Kaynak oluştur menü simgesini seçin, İşlem'i ve ardından Web Uygulaması'nı seçin.
Linux'ta Web Uygulaması sayfası görüntülendiğinde aşağıdaki bilgileri girin:
Açılan listeden Aboneliğinizi seçin.
mevcut bir
Kaynak Grubu seçin veya yeni bir kaynak grubu oluşturmak için bir ad belirtin. Uygulama adı için benzersiz bir ad girin; örneğin: wingtiptoyslinux.
Docker Container'dan 'e'yi Yayınla olarak belirtin.İşletim Sistemi alanı için Linuxseçiniz.
bölgeseçin.
Linux Planı
kabul edin ve mevcut bir App Service Planı seçin veya yeni bir app service planı oluşturmak için Yeni oluştur'useçin. İleri: Docker'ı seçin.
Web App sayfasında Dockerseçin ve aşağıdaki bilgileri girin:
Tek Kapsayıcıseçin.
Kayıt Defteri: Konteynerinizi seçin, örneğin: wingtiptoysregistry.
Görüntü: Daha önce oluşturulan görüntüyü seçin, örneğin: spring-boot-docker.
Etiket: Görüntünün etiketini seçin, örneğin: en son.
Başlangıç Komutu: Görüntüde başlatma komutu zaten olduğundan bu komutu boş bırakın.
Önceki tüm bilgileri girdikten sonra Gözden geçir ve oluştur'u seçin.
- Gözden geçir ve oluşturseçin.
Bilgileri gözden geçirin veoluştur'u
Dağıtım tamamlandığında Kaynağa git seçeneğini belirleyin. Dağıtım sayfasında uygulamaya erişmek için URL görüntülenir.
URL'sini alma
Not
Azure, İnternet isteklerini 80 numaralı bağlantı noktasında çalışan ekli Tomcat sunucusuna otomatik olarak eşler. Ancak, katıştırılmış Tomcat sunucunuzu 8080 numaralı bağlantı noktasında veya özel bir bağlantı noktasında çalışacak şekilde yapılandırdığınızda, web uygulamanıza katıştırılmış Tomcat sunucunuz için bağlantı noktasını tanımlayan bir ortam değişkeni eklemeniz gerekir. Ortam değişkenini eklemek için aşağıdaki adımları kullanın:
Azure portal'a gidin ve oturum açın.
Web Appssimgesini seçin ve App Services sayfasından uygulamanızı seçin.
Sol gezinti bölmesinde Yapılandırma'ni seçin.
Uygulama ayarları bölümünde, WEBSITES_PORT adlı yeni bir ayar ekleyin ve değer için özel bağlantı noktası numaranızı girin.
tamamseçin. Ardından Kaydetöğesini seçin.
Kaynakları temizleme
Kaynaklara artık ihtiyacınız kalmadığında, bunları silmek için Azure portalını kullanın. Kaynakları silmek beklenmeyen ücretlerden kaçınmanıza yardımcı olur.
Sonraki adımlar
Spring ve Azure hakkında daha fazla bilgi edinmek için Azure'da Spring belge merkezine geçin.
Ayrıca bkz.
Azure'da Spring Boot uygulamalarını kullanma hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
Azure'ı Java ile kullanma hakkında daha fazla bilgi için Java Geliştiricileri İçin Azure ve Azure DevOps ve Java ile Çalışma başlıklarına bakın.
Docker'da Spring Boot örnek projesi hakkında daha fazla bilgi için bkz. Docker'da Spring Boot Başlarken.
Spring Boot uygulamalarınıza başlamak için yardım almak istiyorsanız, adresinde yer alan https://start.spring.io/'ye bakın.
Basit bir Spring Boot uygulaması oluşturmaya başlama hakkında daha fazla bilgi için https://start.spring.io/'deki Spring Initializr konusuna bakın.
Azure ile özel Docker görüntülerini kullanma hakkında daha fazla örnek için bkz. Linux'ta Azure Web Uygulaması için özel Docker görüntüsü kullanma.