【发布时间】:2015-11-07 22:44:22
【问题描述】:
我正在尝试使用此插件构建我的图像:https://github.com/spotify/docker-maven-plugin#use-a-dockerfile
当我运行mvn clean package docker:build
我收到此错误:
[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.2.3:build (defa
ult-cli) on project demo: Exception caught: Request error: POST https://192.168.
99.100:2376/v1.12/build?t=DevOpsClient: 500: HTTP 500 Internal Server Error -> [
Help 1]
当我检查 docker 守护进程日志时,我看到了:
Handler for POST /build returned error: repository name component must match \"[a-z0-9]+(?:[._-][a-z0-9]+)*\"" statusCode=500
这是命名约定的文档:https://docs.docker.com/registry/spec/api/
显然你不能有任何大写字母。
我正在尝试按照本指南使用 Spring Boot 进行构建:https://spring.io/guides/gs/spring-boot-docker/
我正在使用 Spring Boot 的 SNAPSHOT 版本,并且我有一个名为 demo-0.1.1-SNAPSHOT 的目录。我相信这可能会导致问题。
我也在 windows 上工作,我的项目目录路径如下:
C:\Users\myname\UserRegistrationClient\git\..... etc
这也会影响存储库命名约定吗?
我将如何改变它?
【问题讨论】:
-
您指定的 docker 镜像名称是什么?通常 docker 镜像由 [
/] / : 格式的标签标识。因此,如果 docker 抱怨存储库名称,我确实假设您对存储库有一些问题,只要您不想将它推送到中心位置,这应该是不必要的。 -
我刚刚调用了镜像DevOpsClient,你觉得是这个问题吗?
-
哦,不,我实际上并没有试图将它推到任何地方。实际上,在尝试构建图像时会出现此问题。
-
是的,因为在构建过程中对构建进行了标记。其中还包括名称。如果您检查公共注册表中的图像,您会发现这些图像没有任何大写名称。只需重命名为 devopsclient 或 dev-ops-client 即可。
标签: spring-boot docker kubernetes dockerfile docker-registry