Home > Software engineering >  Docker GitLab pipeline returns invalid argument for "-t, --tag" flag: invalid reference fo
Docker GitLab pipeline returns invalid argument for "-t, --tag" flag: invalid reference fo

Time:03-18

I'm receiving the below error message in my GitLab pipeline when attempting to create a docker image and then push it up to my docker hub account. It seems to be a syntax issue and I have tried a few combinations but cannot get it to work.

Can anybody help? Thanks.

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

the .gitlab-ci.yml file is configured as below:

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}

CodePudding user response:

The IMAGE_NAME variable is not correct for naming docker images. Below are the issues:

  1. https: --> : as it is special character for the tags
  2. https:// --> // again, these special characters for docker image name. you can't use // together. There has to be something in the middle like https/a/b
  3. /-/ --> - you cannot have only - within /. you need to have some words along with it or either remove it.

If you do this, this should solve the issue.

  • Related