Docker映像未从pom.xml获取映像名称

时间:2019-03-03 12:51:29

标签: spring-boot docker docker-maven-plugin spotify-docker-client

我正在使用spotify创建docker映像。我的docker映像创建成功,但是没有名称。我在控制台上进入以下页面:

  

图像将不带名称

POM.XML

   <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.nv</groupId>
    <artifactId>microeurekaserver</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>MicroEurekaServer</name>
    <description>Eureka Server</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.SR2</spring-cloud.version>
        <docker.image.prefix>nvarshney44/nvarshney</docker.image.prefix>
    </properties>


  <build>
     <plugins>
       <plugin>
         <groupId>com.spotify</groupId>
         <artifactId>docker-maven-plugin</artifactId>
         <version>1.0.0</version>

         <configuration>
            <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
            <forceTags>true</forceTags>
            <imageTags>
                <imageTag>${project.version}</imageTag>
                <imageTag>latest</imageTag>
             </imageTags>
            <resources>
               <resource>
                  <directory>${project.build.directory}</directory>
                  <include>${project.build.finalName}.jar</include>
               </resource>
            </resources>
            <serverId>docker-hub</serverId>
             <registryUrl>https://index.docker.io/v1/</registryUrl>
         </configuration>
      </plugin>

      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
   </plugins>

</build>

Maven Output

请帮助我找出问题所在。在maven输出中,显示dockerfile:null可能是因为它花费了一些问题。

2 个答案:

答案 0 :(得分:0)

为了给Docker映像起一个名字,您需要填写“ repository”字段:

<configuration>
  <repository>your-name-here</repository> <!-- ${project.artifactId} is a good choice -->
  <tag>${project.version}</tag>
</configuration>

这实际上与Docker push的工作方式一致-它将名称视为存储库地址。

答案 1 :(得分:-1)

您在哪里定义变量值${docker}${project}? 就像这样:

<docker> <image> <prefix> value </prefix> </image> </docker>

请检查:Using variables in pom.xml