في الآونة الأخيرة ، أصبح الحاوية اتجاهًا. يمكن للخادم عرض حاويات متعددة ، وفي الوقت نفسه يوفر الخدمات ، ومشاركة موارد الأجهزة ، وتوفير التكاليف. الزعيم في الحاويات هو Docker. جميع إصدارات الخدمات الدقيقة في شركتنا قد تم حاشيتها. يتبع Spring Boot أيضًا الاتجاه ويضيف المكون الإضافي Maven الخاص بـ Docker ، والذي يمكنه إنشاء صور عن طريق تنفيذ الأوامر.
المحتوى الرئيسي لهذا القسم لا يدور حول التعليمات البرمجية ، ولكن حول هذا المكون الإضافي Docker. دون مزيد من اللغط ، انتقل إلى بوم
<Plugin> <roupiD> com.spotify </groupId> <StifactId> docker-maven-plugin </artifactId> <sored> 0.4.12 </version> <configuration> <!-لاحظ أن اسم ImageName يجب أن يمتثل للمعتاد [A-Z0-9 -_.] https://github.com/spotify/docker-maven-plugin اسم مستودع غير صالح ... فقط [A-Z0-9-_.] مسموح به-> <ImageName> spring-boot-docker-start </imageName> <!-ما يعادلها من Java ، يتم استخدام الصورة المحلية محليًا ، إذا لم يكن ذلك ، pull from remote- <Exposes> <!-فضح المنفذ 8080 في الحاوية-> <كشف> 8080 </expose> </exposes> <!-إدخال النقطة ، command-> <intploint> ["java" ، "-jar" ، "/$ {project.build.finalname} .jar"] <Criptory> $ {project.build.directory} </directory> <supture> $ {project.build.finalname} .jar </include> </sropress> </srossection> </configuration> </sultwin> ImageName هو اسم الصورة. BASEIMAGE هي الصورة الأساسية. إذا كانت هناك صورة محلية ، إذا لم يكن الأمر كذلك ، اسحبها من المستودع البعيد ، وفضح المنفذ 8080 في الحاوية ، وقم بتنفيذ أمر Java -jar ، وابدأ خدمة microservice. نحن نعلم أن استخدام Docker يتطلب إنشاء ملف dockerfile ، وأن العناصر الموجودة في الداخل تنعكس تمامًا من خلال علامات مافن المكون الإضافي. لا يزال هناك شرط أساسي ، يجب عليك تثبيت Docker أولاً. في هذه المرحلة ، نبدأ في الركض
الخطوة 1: تنفيذ MVN Clean Package Docker: إنشاء لإنشاء صورة تم إنشاؤها.
الخطوة 2: ابدأ تشغيل مرآة Docker Run -it -P-P Spring-Boot-Docker-Start وتحقق من السجلات الموجودة في الحاوية
spring-boot-boot-docker-start git: (master) docker run -it -p spring-boot-docker-start. ____ _ __ _ /// ___'_ __ _ _ (_) _ __ __ __ _ / / / / (() / ___ | '_ |' _ | .__ | | _ | | _ | | _/__ ، | / / / / / / / ================================================ ___ / = / _ / _ / :: spring boot :: (v1.3.5 Applicationmain on 075543f8f5b6 with pid 1 (/spring-boot-docker-start.jar بدأت بواسطة الجذر في /) 2018-03-25 08: 41: 56.287 info 1 --- [Main] --- [main] ationconfigembeddedwebapplicationContext: org.springframework.boot.context.embedded.annotationConfigedDeddedWebPlicationContext@126d28d3: تاريخ بدء التشغيل [Sun Mar 25 08:41:56 UTC 2018] ؛ جذر السياق الهرمي 2018-03-25 08: 41: 58.356 INFO 1 --- [MAIN] SBCETTOMCATEMBEDDEDSERVLETCONTAINER: TOMCAT تهيئة مع المنفذ (s): 8080 (http) 2018-03-25 08: 41: 58.382 info 1- : بدء الخدمة TOMCAT2018-03-25 08: 41: 58.384 INFO 1 --- [MAIN] ORG.APACHE.CATALINA.CORE.STANDARDENGINE: بدء تشغيل Servlet Engine: Apache Tomcat/8.0.332018-03-25 08: 41: 58.512 info 1 --- occc [tomcat]. --- [OST-STARTSTOP-1] OSBCEMBEDDED.FilterRegistrationBean: رسم خرائط servlet: 'Dispatcherservlet' إلى [/] 2018-03-25 08: 41: 58.928 info 1 --- ] osbcembedded.filterregistrationBean: مرشح رسم الخرائط: 'httpputformContentFilter' إلى: [/*] 2018-03-25 08: 41: 58.938 info 1 --- 08: 41: 59.406 INFO 1 --- [MAIN] SWSMMAREQUESTMAPPINGHALDLERADADAPTER: البحث عن ControllerAdvice: org.springframework.boot.context.embedded.annotationConfigedDedDedWedWedDextoxt@126d28d3: STARTUP DIATER [ جذر السياق الهرمي Hierarchy2018-03-25 08: 41: 59.516 INFO 1 --- [MAIN] 08: 41: 59.523 info 1 --- [Main] SwsmmareQuestMappingHandLermapping: medped "{[/error] ، reduces = [text/html]}" على org.springframework.web.servlet.modelandview org.springframework.boot.autoconfigure.web.basicerrorcontroller.errorhtml (javax.servlet.http.httpservletrequest ، javax.servlet.http.httpservlesponse) 2018-03 -25 08: 41: 59.524 info SWSMMAREQUESTMAPPINGHANDLERMAPPAPPIPPAPPAPPING "{[/error]}" على org.springframework.http.reSponseentity <java.util.map <java.lang.string ، java.object org.springframework.boot.autoconfigure.web.basicerrorcontroller.error (javax.servlet.http.httpservletrequest) 2018-03-25 08: 41: 59.584 info 1- معالج النوع [class org.springframework.web.servlet.resource.ResourceHttPrequestHandler] 2018-03-25 08: 41: 59.585 info 1 --- org.springframework.web.servlet.resource.resourcehttprequesthandler] 2018-03-25 08: 41: 59.645 info 1 --- org.springframework.web.servlet.resource.ResourceHttPrequestHandler] 2018-03-25 08: 41: 59.754 info 1 --- sbcettomCatemBedDedServletContainer: بدأ Tomcat على المنفذ (S): 8080 (http) 2018-03-25 08: 41: 59.838 info 1 --- [Main] com.shuqi.applicationmain: struct applicationmain في 4.084 ثانية (jvm تشغيل 5.012). بدأ بنجاح.
الخطوة 3: أدخل Docker PS لمعرفة المنفذ 8080 في الحاوية التي يتم تعيينها إلى المنفذ المحلي
أمر حاوية معرف صورة إنشاء منافذ الحالة التي تم إنشاء منافذ الحالة 075543F8F5B6 Spring-Boot-Docker-Start "Java-Jar /Spring ..." منذ حوالي دقيقة تقريبًا حوالي 0.0.0.0.0:32768->8080/TCP Trusting_Noether
من المؤكد أن يكون المنفذ 32768.
الخطوة 4: أدخل http: // localhost: 32768/hello في المتصفح وشاهد النتائج
هذا يعني أننا قد وصلنا بنجاح إلى البرنامج في الحاوية!
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.