Изображения Docker могут быть построены через плагин Maven Docker
Быстрый старт
Добавить плагин Docker в pom.xml
<blicin> <groupid> com.spotify </GroupId> <ArtifactId> docker-maven-plugin </artifactid> <sersive> 0.4.13 </version> <figureturation> <ImageName> linyuantongxue/docker-demo: 0.0.1 </ImageName> // Укажите имя изображения, linyuantongxue wome (repostory (cooleshore (cooleshore-spectore (cooleshore-wome (repostory (cooleshore-wome (repostory (cooleshore-wome wamperx Имя), Docker-Demo-это имя изображения (соответствующее имени репозитория DockerHub), 0.0.1-это имя метки (эквивалентное номеру версии) <resources> <resource> <TargetPath>/</targetPath> <Directory> $ {project.build.directory} </directory> // Указание корневого каталога, который будет скопирован, $ {project.build.directory} означает, что целевой каталог <Cult> $ {Project.Build.finalName}. $ {project.build.finalname} .jar относится к упакованному файлу JAR </resource> </resources> </configuration> </placin> Запустите следующую команду, чтобы построить изображение Docker
MVN Clean Package Docker: Build
Выполните изображения Docker, чтобы просмотреть только что построенное изображение
Прочтите файл dockerfile
Вам не нужно указывать baseimage и intrypoint при чтении файлов dockerfile
<blicin> <groupid> com.spotify </GroupId> <ArtifactId> docker-maven-plugin </artifactid> <sersive> 0.4.13 </version> <ponfiguration> <dockerdirectory> $ {project.basedir}/src/main/docker </dockerdirector <ImageName> linyuantongxue/docker-demo: 0.0.1 </imageName> // Указание имени изображения, Linyuantongxue-это имя репозитория (соответствующее Dockerhub username), Docker-Demo является названием изображения (соответствует ресурсу Dockerhub), 0.0.1 является названием TAG (эквивалент № версии> № <cresource> <cressounts> <cressurance> <cervivety number) <cervivety number number) <cervivety number) <cervivatent number numbers>> <cervivatent wome number). <TargetPath>/</targetPath> <Directory> $ {project.build.directory} </directory> // Указание корневого каталога, который будет скопирован, $ {project.build.directory} означает целевой каталог <Cult> $ {project.build.finalname}. $ {project.build.finalname} .jar относится к упакованному файлу JAR </resource> </resources> </configuration> </placin>Свяжите плагин с фазой для выполнения
Есть такие потребности во многих сценариях. Например, когда плагин выполняет пакет MVN Clean, плагин автоматически создает изображение Docker. Чтобы достичь этого, вам нужно только связать цель плагина с определенной фазой.
Формат команды Maven: MVN Фаза: Цель. Фаза связывает фазу жизненного цикла строительства цели и цель выполнения конфигурации целей
Просто добавьте следующую конфигурацию:
<blicin> <groupid> com.spotify </GroupId> <ArtifactId> docker-maven-plugin </artifactid> <sersion> 0.4.13 </version> // выполнить цель сборки в пакете LifeCycle Maven </overse> <come> </over> </id> </ocke> </over> </id> </oeftion> </over> </id> </oeftion> </id> </oeftion> </id> </ocke> </id> <//id <//id </id> <//gogle> </id> </выполнения> // $$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$ <ImageName> linyuantongxue/docker-demo: 0.0.1 </imageName> <bayimage> java </baseimage> <printpoint> ["java", "-jar", "app.jar"] </intrypoint> <surressurnest> <TargetPath>/</TargetPath <clact> $ {project.build.finalname} .jar </inclust> </resource> </resources> </configuration> </placin>Протолкнуть зеркало
Используйте плагин Maven, чтобы нажимать изображения в Docker Hub
Изменить настройки файла информации о конфигурации Maven Global.
<servers> <serer> <id> Docker-hub </id> # dockerhub. Имя этого веб-сайта должно быть всем, чтобы быть правильным <пользовательским именем> linyuantongxue </username> <пароль> 765371578
Измените файл POM
<blicin> <groupid> com.spotify </GroupId> <ArtifactId> docker-maven-plugin </artifactid> <sersive> 0.4.13 </version> <figureturation> <ImageName> linyuantongxue/docker-demo: 0.0.1 </ImageName> <baseImage> java </baseimage> <entryPoint>["java","-jar","app.jar"]</entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> <!--Consistent with server.id in Настройка файла конфигурации.xml, используемый для нажимания изображений-> <sereriad> docker-hub </serverid> </configuration> </placin>Выполните следующую команду, чтобы добавить идентификатор pushimage, чтобы указать изображение push
MVN Clean Package Docker: Build -dpushimage
В приведенном выше примере ImageName может использоваться для указания имени и метки изображения, а элемент ImageTags можно использовать для более гибкого указания имени изображения и метки, чтобы можно было указать две метки для одного и того же изображения.
<FONIVERUTION> <ImageName> linyuantongxue/docker-demo </imageName> <ImageTags> <ImageTag> 0.0.1 </imageTag> <ImageTag> Последний </ImageTag> </ImageTags> </configuration>
Вы также можете использовать параметр dockerimagetags, чтобы указать имя тега при построении команды
Кода -копия выглядит следующим образом:
MVN Clean Package: Build -DpushimageTags -ddockerimagetags = Anday -Dockerimagetags = Другой TAG
Если вам нужно многократно построить изображение с тем же именем тега, установите Forcetags на True
<Конфигурация> // ...... <Forcetags> true </forcetags> </configuration>
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.