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

此列表摘自:https://github.com/docker-library/official-images/blob/8d9c213e6129df5858a85c8368515d90e737c1f8/library/openjdk#L13

并且图像 8-jdk-alpine 不再可用,因为它将不再受支持。

所以你应该使用13-jdk-alpine的标签,完整的标签是openjdk:13-jdk-alpine.

这可以通过将 docker-maven-plugin 版本也更改为 0.30.0 来解决