当我尝试创建 docker 镜像并将其推送到我的 docker hub 帐户时,我在 GitLab 管道中收到以下错误消息。这似乎是一个语法问题,我尝试了几种组合但无法使其工作。
有人可以帮忙吗?谢谢。
Login Succeeded
$ docker build -f Dockerfile --tag ${IMAGE_NAME}:${CI_COMMIT_SHORT_SHA} .
invalid argument "https://gitlab.com/madrandom/docker/-/blob/main/ubuntu_packer:bc9d2a3c" for "-t, --tag" flag: invalid reference format
See 'docker build --help'.
Cleaning up project directory and file based variables
00:01
ERROR: Job failed: exit code 125
.gitlab-ci.yml 文件配置如下:
stages:
- build
variables:
IMAGE_NAME: https://gitlab.com/madrandom/docker/-/blob/main/ubuntu_packer
build:
stage: build
image: docker:18-git
services:
- docker:18-dind
script:
- echo "$DOCKER_HUB_PASS" | docker login --username=${DOCKER_HUB_USER} --password-stdin
- docker build -f Dockerfile --tag ${IMAGE_NAME}:${CI_COMMIT_SHORT_SHA} .
- docker push ${IMAGE_NAME}:${CI_COMMIT_SHORT_SHA}
最佳答案
IMAGE_NAME
变量对于命名 docker 镜像不正确。以下是问题:
https:
-->:
因为它是标签的特殊字符https://
-->//
再说一遍,这些特殊字符代表 docker 镜像名称。您不能一起使用//
。中间必须有一些东西,例如https/a/b
/-/
-->-
/
中不能只有-
。您需要添加一些文字,或者将其删除。
如果您这样做,应该可以解决问题。
关于Docker GitLab 管道返回 "-t, --tag"标志 : invalid reference format 的无效参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71510991/