يمكن بناء صور Docker من خلال مكون مافن Docker
بداية سريعة
أضف مكون الإضافي Docker في pom.xml
<rector> <roupiD> com.spotify </groupId> <StifactId> docker-maven-plugin </shintifactid> <sored> 0.4.13 </version> <figure> <ImageName> linyuantongxue/docker-demo: 0.0.1 </ishormename> Docker-Demo هو اسم الصورة (يتوافق مع اسم مستودع DockerHub) ، 0.0.1 هو اسم التسمية (ما يعادل رقم الإصدار) <PaseImage> java </baseimage> // تحديد الصورة الأساسية ، ما يعادلها من التوجيه <enterpoint> ["Java" <IroghPath>/</targetpath> <cirly> $ {project.build.directory} </directory> // حدد دليل الجذر المراد نسخه ، $ {project.build.directory} $ {project.build.finalname} .jar يشير إلى ملف الجرة المعبأة </resource> </specials> </configuration> </splessin> قم بتشغيل الأمر التالي لإنشاء صورة Docker
MVN Clean Package Docker: Build
قم بتنفيذ صور Docker لعرض الصورة التي قمت بإنشائها للتو
قراءة ملف Dockerfile
لا يتعين عليك تحديد BaseImage و Entploint عند قراءة ملفات Dockerfile
<rector> <roupiD> com.spotify </groupId> <StifactId> docker-maven-plugin </artifactid> <sophy> 0.4.13 </version> <configuration> <ckkerDirectory> $ {project.baned}/src/main/docker </dockerdirectory> // <ImageName> linyuantongxue/docker-demo: 0.0.1 </filderame> // حدد اسم الصورة ، linyuantongxue هو اسم المستودع (المقابل لاسم DockerHub usernam <Criptory> $ {project.build.directory} </directory> // حدد دليل الجذر المراد نسخه ، $ {project.build.directory} يعني الدليل المستهدف <sudgense> $ {project.build.finalname}. ملف JAR </Resource> </specress> </configuration> </spless>>ربط البرنامج المساعد إلى مرحلة للتنفيذ
هناك مثل هذه الاحتياجات في العديد من السيناريوهات. على سبيل المثال ، عندما يقوم المكون الإضافي بتنفيذ حزمة MVN Clean ، يقوم المكون الإضافي تلقائيًا بإنشاء صورة Docker. لتحقيق ذلك ، تحتاج فقط إلى ربط هدف المكون الإضافي بمرحلة معينة.
تنسيق أمر Maven هو: MVN المرحلة: الهدف. تربط المرحلة مرحلة دورة حياة البناء الهدف وهدف تنفيذ تكوين الأهداف
فقط أضف التكوين التالي:
<rector> <roupiD> com.spotify </groupId> <StifactId> docker-maven-plugin </artifactId> <sophy> 0.4.13 </version> // تنفيذ الهدف البناء في Maven Lifecycle Package> <sivitions> <sevancution> <executions> </extenspions> // $ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ($) $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ($) $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <ImageName> linyuantongxue/docker-demo: 0.0.1 </ishormename> <BaseImage> java </baseImage> <tensionPoint> ["java" ، "-jar" ، "app.jar"] </intervingpoint> <srossials> <sropergen <swern> $ {project.build.finalname} .jar </include> </sroger> </srossection> </configuration> </sultمرآة دفع
استخدم البرنامج المساعد Maven لدفع الصور إلى Docker Hub
قم بتعديل إعدادات ملفات معلومات التكوين العالمية Maven وتكوين معلومات مستخدم Docker Hub
<Servers> <erver> <id> docker-hub </id> # dockerHub يجب أن يكون اسم المستخدم لهذا الموقع كلهًا صغيرًا ليكون صحيحًا <Sername> linyuantongxue </username> <portord> 765371578Ly </password>
تعديل ملف POM
<Unction> <roupiD> com.spotify </groupId> <StifactId> docker-maven-plugin </shintifactid> <sored> 0.4.13 </splement <TENPROOPPOINT> ["java" ، "-jar" ، "app.jar"] </enterpoint> <srossials> <sropert> <targetPath>/</targetpath> <cironsory> $ {project.build.directory} </directory> <supture> $ {project.build.finalname}. setting.xml ، المستخدمة لدفع الصور-> <ServerId> docker-hub </serverId> </configuration> </sultwing>قم بتنفيذ الأمر التالي لإضافة معرف pushimage للإشارة إلى صورة الدفع
MVN Clean Package Docker: Build -Dpushimage
في المثال أعلاه ، يمكن استخدام ImageName لتحديد اسم الصورة والتسمية ، ويمكن استخدام عنصر ImageTags لتحديد اسم الصورة والتسمية بشكل أكثر مرونة ، بحيث يمكن تحديد ملصقتين لنفس الصورة.
<Ictuction> <ImageName> linyuantongxue/docker-demo </ishormename> <IcketAgs> <Icketag> 0.0.1 </ishilectag> <Icketag> أحدث </ImageTag> </isheactags> </configuration>
يمكنك أيضًا استخدام معلمة dockerimagetags لتحديد اسم العلامة عند إنشاء الأمر
نسخة الكود كما يلي:
MVN Clean Package: Build -Dpushimagetags -dockerimagetags = أحدث -DockerImageTags = أخرى
إذا كنت بحاجة إلى إنشاء صورة مرارًا وتكرارًا اسم العلامة ، فقم بتعيين عمليات forcetags على True
<fignituration> // ......
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.