Docker GitLab 管道返回 "-t, --tag"标志 : invalid reference format 的无效参数

标签 docker dockerfile gitlab-ci

当我尝试创建 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 镜像不正确。以下是问题:

  1. https: --> : 因为它是标签的特殊字符
  2. https:// --> // 再说一遍,这些特殊字符代表 docker 镜像名称。您不能一起使用 // 。中间必须有一些东西,例如 https/a/b
  3. /-/ --> - / 中不能只有 -。您需要添加一些文字,或者将其删除。

如果您这样做,应该可以解决问题。

关于Docker GitLab 管道返回 "-t, --tag"标志 : invalid reference format 的无效参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71510991/

相关文章:

php - 如何防止 Docker Compose 卷覆盖 `composer install` 的更改?

docker - Docker卷未安装

python -/var/run/docker.sock : permission denied while running docker within Python CGI script

linux - 找不到 docker-entrypoint exec nginx

ubuntu - Gitlab-ci - 管道运行失败

maven - Gitlab CI 不在部署阶段后台 JAR 文件

ruby-on-rails - 当带有 Rails 应用程序的容器完成启动时回调(或等效)?

postgresql - 在 Docker 中使用 Sqoop 导入 PostgreSQL

docker - 如何将 Docker 容器中运行的 Grafana 连接到主机上运行的 Prometheus 数据源(在 Docker for Mac 上)?

node.js - 如何在具有持续集成的gitlab中存储作业和阶段之间的 Node 模块