Docker "Client version 1.18 is too old. Minimum supported API version is 1.24" 的 Azure 管道错误
Azure pipeline error for Docker "Client version 1.18 is too old. Minimum supported API version is 1.24"
我是 运行 天蓝色的构建管道,具有以下 mvn docker 配置文件。
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.25.2</version>
<configuration>
<configuration>
<dockerHost>${docker.host}</dockerHost>
<images>
<image>
<alias>${project.artifactId}</alias>
<name>inst-iot/${project.artifactId}:${project.version}</name>
<build>
<from>java:8-jdk-alpine</from>
<assembly>
<descriptorRef>artifact</descriptorRef>
</assembly>
<ports>
<port>80</port>
</ports>
<env>
<SERVER_PORT>80</SERVER_PORT>
<JAVA_OPTS>-Xmx2048m</JAVA_OPTS>
</env>
<cmd>
<shell>java $JAVA_OPTS -jar
/maven/${project.name}-${project.version}.jar
--spring.profiles.active=docker</shell>
</cmd>
<tags>
<tag>latest</tag>
<tag>${project.version}</tag>
</tags>
</build>
</image>
</images>
</configuration>
当它在 Hosted Windows 2019 with VS2019
代理池上运行时,它会抛出如下错误,
[ERROR] DOCKER> Unable to check image [openjdk:8] : client version 1.18 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version (Bad Request: 400) [client version 1.18 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version (Bad Request: 400)]
我认为这与代理计算机上的 Docker
版本有关。我该如何解决这个问题?
查看 Alpine 的当前 OpenJDK 图像,支持的 JDK(对于 Alpine)图像标签是这些:
Tags: 13-ea-19-jdk-alpine3.9, 13-ea-19-alpine3.9, 13-ea-jdk-alpine3.9, 13-ea-alpine3.9, 13-jdk-alpine3.9, 13-alpine3.9, 13-ea-19-jdk-alpine, 13-ea-19-alpine, 13-ea-jdk-alpine, 13-ea-alpine, 13-jdk-alpine, 13-alpine
并且图像 8-jdk-alpine
不再可用,因为它将不再受支持。
所以你应该使用13-jdk-alpine
的标签,完整的标签是openjdk:13-jdk-alpine
.
这可以通过将 docker-maven-plugin
版本也更改为 0.30.0
来解决
我是 运行 天蓝色的构建管道,具有以下 mvn docker 配置文件。
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.25.2</version>
<configuration>
<configuration>
<dockerHost>${docker.host}</dockerHost>
<images>
<image>
<alias>${project.artifactId}</alias>
<name>inst-iot/${project.artifactId}:${project.version}</name>
<build>
<from>java:8-jdk-alpine</from>
<assembly>
<descriptorRef>artifact</descriptorRef>
</assembly>
<ports>
<port>80</port>
</ports>
<env>
<SERVER_PORT>80</SERVER_PORT>
<JAVA_OPTS>-Xmx2048m</JAVA_OPTS>
</env>
<cmd>
<shell>java $JAVA_OPTS -jar
/maven/${project.name}-${project.version}.jar
--spring.profiles.active=docker</shell>
</cmd>
<tags>
<tag>latest</tag>
<tag>${project.version}</tag>
</tags>
</build>
</image>
</images>
</configuration>
当它在 Hosted Windows 2019 with VS2019
代理池上运行时,它会抛出如下错误,
[ERROR] DOCKER> Unable to check image [openjdk:8] : client version 1.18 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version (Bad Request: 400) [client version 1.18 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version (Bad Request: 400)]
我认为这与代理计算机上的 Docker
版本有关。我该如何解决这个问题?
查看 Alpine 的当前 OpenJDK 图像,支持的 JDK(对于 Alpine)图像标签是这些:
Tags: 13-ea-19-jdk-alpine3.9, 13-ea-19-alpine3.9, 13-ea-jdk-alpine3.9, 13-ea-alpine3.9, 13-jdk-alpine3.9, 13-alpine3.9, 13-ea-19-jdk-alpine, 13-ea-19-alpine, 13-ea-jdk-alpine, 13-ea-alpine, 13-jdk-alpine, 13-alpine
并且图像 8-jdk-alpine
不再可用,因为它将不再受支持。
所以你应该使用13-jdk-alpine
的标签,完整的标签是openjdk:13-jdk-alpine
.
这可以通过将 docker-maven-plugin
版本也更改为 0.30.0
来解决