Spring boot SpringBoot2.3Maven Docker版本增加了;docker.io“;前缀

Spring boot SpringBoot2.3Maven Docker版本增加了;docker.io“;前缀,spring-boot,docker,Spring Boot,Docker,我正在尝试使用mvn-Spring-Boot:buildimageas为我的Spring-Boot服务构建一个Docker映像。它还提到 默认情况下,结果是一个名为docker.io/:latest的图像。您可以在Maven中使用 org.springframework.boot springbootmaven插件 我的/首选/姓名 看起来很简单。。。但是,这会导致Docker映像名为Docker.io/my/preferred/name 如何去掉docker.io前缀?我猜你用这么多斜杠(

我正在尝试使用
mvn-Spring-Boot:buildimage
as为我的Spring-Boot服务构建一个Docker映像。它还提到

默认情况下,结果是一个名为docker.io/:latest的图像。您可以在Maven中使用


org.springframework.boot
springbootmaven插件
我的/首选/姓名
看起来很简单。。。但是,这会导致Docker映像名为
Docker.io/my/preferred/name


如何去掉
docker.io
前缀?

我猜你用这么多斜杠(
/
)混淆了解析器。由于没有合理的方法来解析
my/preferred/name
,因此它将被视为一个名称(作为一个整体),在这种情况下,默认的
docker.io/library/
将被添加到它前面

下面是如何在
name
标记中指定图像的名称

  • name(映射到docker.io/library/name)
  • 域名
  • 域:端口/名称
  • 域:端口/名称:标记
  • 域:端口/name@digest

您的
my/preferred/name
名称属于第一类。

但它没有添加
docker.io/library
,结果是
docker.io/my/preferred/name
。您尝试过使用一些普通名称吗?因为其中有2个斜杠的不是有效的图像名称。图像的名称部分最多应该有一个斜杠分隔注册表地址(URL或IP,可选带有端口);同样的问题,
docker.io
仍然是预先准备好的。忽略我的最后一条评论:maven日志输出状态为“已成功构建映像'docker.io/my preferred/name:latest'”,但docker中的映像名实际上是
my preferred/name:latest
。所以谢谢你,这很有效。
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <image>
                    <name>my/preferred/name</name>
                </image>
            </configuration>
        </plugin>
    </plugins>
</build>