<p>It looks to me like you're not pushing to the right port.</p>
<p>When you go to the project space, and then go to your container registry <code>/container_registry</code> (or click under <strong>Packages &amp; Registries</strong> → <strong>Container Registry</strong></p>
<p><a href="https://i.sstatic.net/I5vq2.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/I5vq2.png" alt="Menus hove" /></a></p>
<p>Or, like this if you prefer to click on <strong>Packages &amp; Registries</strong></p>
<p><a href="https://i.sstatic.net/mbpWc.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/mbpWc.png" alt="Menu click" /></a></p>
<p>On this page you should see a bunch of links, one of them should have something like this,</p>
<pre><code>docker push domain:5050/myusername/pipelinetests
</code></pre>
<p>You want to be sure you're including that <code>:5050</code>. That's the defualt port for the <a href="https://docs.gitlab.com/ee/administration/packages/container_registry.html" rel="nofollow noreferrer">GitLab Container Registry</a>. It looks like from that error, that you're targeting the actual project page.</p>

CC BY-SA 4.0
2022-04-21T17:19:58.560Z
ok so under package & registries, i don't even have Container Registry.  I only have package & infrastructure as options.  I guess that's the smoking gun?  I assumed it would go under package registry.  Please see my EDIT 1 for new screenshot
dot
CC BY-SA 4.0
2022-04-21T17:24:03.760Z
@dot that would be a smoking gun, imho yes. I put a copy of the menu above.
Evan Carroll
CC BY-SA 4.0
2022-04-21T15:56:26.733Z
2022-04-21T17:23:33.823Z
2022-04-21T17:23:33.823Z
Evan Carroll
<p>I'm trying to push for the first time to a gitlab project container registry.
I am not a gitlab administrator so I can't change global settings.  But as far as my project is concerned I've made sure that I have a personal access token created for the project.<br />
When I try to run my pipeline, it fails with a 404 error.  I've recreated the steps just on the commandline to simplify things.  here's what the output looks like:</p>
<pre><code>PS /Users/me/src/pipelinetests&gt; docker login -u widgetsProjectAccessToken -p asdf mygitserver.org/myusername/pipelinetests

WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded

PS /Users/me/src/pipelinetests&gt; docker build -t mygitserver.org/myusername/pipelinetests:widgetsimage .

[+] Building 190.4s (12/12) FINISHED                                                                                                                                                                                                                                                                                                            
 =&gt; [internal] load build definition from Dockerfile                                                                                                                                                                                                                                                                                       0.0s
 =&gt; =&gt; transferring dockerfile: 37B                                                                                                                                                                                                                                                                                                        0.0s
 =&gt; [internal] load .dockerignore                                                                                                                                                                                                                                                                                                          0.0s
 =&gt; =&gt; transferring context: 2B                                                                                                                                                                                                                                                                                                            0.0s
 =&gt; [internal] load metadata for mcr.microsoft.com/dotnet/sdk:6.0.202-bullseye-slim-amd64                                                                                                                                                                                                                                                  0.2s
 =&gt; [internal] load build context                                                                                                                                                                                                                                                                                                          0.0s
 =&gt; =&gt; transferring context: 21.82kB                                                                                                                                                                                                                                                                                                       0.0s
 =&gt; [1/7] FROM mcr.microsoft.com/dotnet/sdk:6.0.202-bullseye-slim-amd64@sha256:1ee95620598b9afa3046d356bb7f7863e1602075dd407c790c34d0a9833acc73                                                                                                                                                                                            0.0s
 =&gt; =&gt; resolve mcr.microsoft.com/dotnet/sdk:6.0.202-bullseye-slim-amd64@sha256:1ee95620598b9afa3046d356bb7f7863e1602075dd407c790c34d0a9833acc73                                                                                                                                                                                            0.0s
 =&gt; CACHED [2/7] RUN apt update &amp;&amp; apt-get install vim -y                                                                                                                                                                                                                                                                                  0.0s
 =&gt; [3/7] COPY . /builds                                                                                                                                                                                                                                                                                                                   0.1s
 =&gt; [4/7] RUN curl -sL https://aka.ms/InstallAzureCLIDeb | bash                                                                                                                                                                                                                                                                           93.2s
 =&gt; [5/7] RUN apt-get install curl &amp;&amp; curl -sL https://deb.nodesource.com/setup_12.x | bash -                                                                                                                                                                                                                                             25.7s
 =&gt; [6/7] RUN apt-get install nodejs                                                                                                                                                                                                                                                                                                      13.0s 
 =&gt; [7/7] RUN npm install -g azure-functions-core-tools@4 --unsafe-perm true                                                                                                                                                                                                                                                              48.4s 
 =&gt; exporting to image                                                                                                                                                                                                                                                                                                                     9.7s 
 =&gt; =&gt; exporting layers                                                                                                                                                                                                                                                                                                                    9.6s 
 =&gt; =&gt; writing image sha256:2f30a1f69f875df9e4645bea95247e7f8678da89d2da04524d0fc570e3e1ce4e                                                                                                                                                                                                                                               0.0s 
 =&gt; =&gt; naming to mygitserver.org/myusername/pipelinetests:widgetsimage                                                                                                                                                                                                                                                              0.0s 
                                                                                                                                                                                                                                                                                                                                                
Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them                                                                                                                                                                                                                                            
PS /Users/me/src/pipelinetests&gt; docker push mygitserver.org/myusername/pipelinetests:widgetsimage

The push refers to repository [mygitserver.org/myusername/pipelinetests]
0ee173286353: Preparing 
4c70ac952b79: Preparing 
b00534d89ac6: Preparing 
b7482490dd9f: Preparing 
ea13d436bb8a: Preparing 
120468cee518: Waiting 
fd6a5c73e987: Waiting 
e4869730bdcc: Waiting 
c782777c8a5d: Waiting 
a45a618792f0: Waiting 
6c946b32cfe2: Waiting 
7dd4a3e7d836: Waiting 
20147d2db13c: Waiting 
9c1b6dd6c1e6: Waiting 
error parsing HTTP 404 response body: invalid character '&lt;' looking for beginning of value: &quot;&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n  &lt;meta content=\&quot;width=device-width, initial-scale=1, maximum-scale=1\&quot; name=\&quot;viewport\&quot;&gt;\n  &lt;title&gt;The page you're looking for could not be found (404)&lt;/title&gt;\n  &lt;style&gt;\n    body {\n      color: #666;\n      text-align: center;\n      font-family: \&quot;Helvetica Neue\&quot;, Helvetica, Arial, sans-serif;\n      margin: auto;\n      font-size: 14px;\n    }\n\n    h1 {\n      font-size: 56px;\n      line-height: 100px;\n      font-weight: 400;\n      color: #456;\n    }\n\n    h2 {\n      font-size: 24px;\n      color: #666;\n      line-height: 1.5em;\n    }\n\n    h3 {\n      color: #456;\n      font-size: 20px;\n      font-weight: 400;\n      line-height: 28px;\n    }\n\n    hr {\n      max-width: 800px;\n      margin: 18px auto;\n      border: 0;\n      border-top: 1px solid #EEE;\n      border-bottom: 1px solid white;\n    }\n\n    img {\n      max-width: 40vw;\n      display: block;\n      margin: 40px auto;\n    }\n\n    a {\n      line-height: 100px;\n      font-weight: 400;\n      color: #4A8BEE;\n      font-size: 18px;\n      text-decoration: none;\n    }\n\n    .container {\n      margin: auto 20px;\n    }\n\n    .go-back {\n      display: none;\n    }\n\n  &lt;/style&gt;\n&lt;/head&gt;\n\n&lt;body&gt;\n  &lt;a href=\&quot;/\&quot;&gt;\n    &lt;img src=\&quot;data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEwIiBoZWlnaHQ9IjIxMCIgdmlld0JveD0iMCAwIDIxMCAyMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTEwNS4wNjE0IDIwMy42NTVsMzguNjQtMTE4LjkyMWgtNzcuMjhsMzguNjQgMTE4LjkyMXoiIGZpbGw9IiNlMjQzMjkiLz4KICA8cGF0aCBkPSJNMTA1LjA2MTQgMjAzLjY1NDhsLTM4LjY0LTExOC45MjFoLTU0LjE1M2w5Mi43OTMgMTE4LjkyMXoiIGZpbGw9IiNmYzZkMjYiLz4KICA8cGF0aCBkPSJNMTIuMjY4NSA4NC43MzQxbC0xMS43NDIgMzYuMTM5Yy0xLjA3MSAzLjI5Ni4xMDIgNi45MDcgMi45MDYgOC45NDRsMTAxLjYyOSA3My44MzgtOTIuNzkzLTExOC45MjF6IiBmaWxsPSIjZmNhMzI2Ii8+CiAgPHBhdGggZD0iTTEyLjI2ODUgODQuNzM0Mmg1NC4xNTNsLTIzLjI3My03MS42MjVjLTEuMTk3LTMuNjg2LTYuNDExLTMuNjg1LTcuNjA4IDBsLTIzLjI3MiA3MS42MjV6IiBmaWxsPSIjZTI0MzI5Ii8+CiAgPHBhdGggZD0iTTEwNS4wNjE0IDIwMy42NTQ4bDM4LjY0LTExOC45MjFoNTQuMTUzbC05Mi43OTMgMTE4LjkyMXoiIGZpbGw9IiNmYzZkMjYiLz4KICA8cGF0aCBkPSJNMTk3Ljg1NDQgODQuNzM0MWwxMS43NDIgMzYuMTM5YzEuMDcxIDMuMjk2LS4xMDIgNi45MDctMi45MDYgOC45NDRsLTEwMS42MjkgNzMuODM4IDkyLjc5My0xMTguOTIxeiIgZmlsbD0iI2ZjYTMyNiIvPgogIDxwYXRoIGQ9Ik0xOTcuODU0NCA4NC43MzQyaC01NC4xNTNsMjMuMjczLTcxLjYyNWMxLjE5Ny0zLjY4NiA2LjQxMS0zLjY4NSA3LjYwOCAwbDIzLjI3MiA3MS42MjV6IiBmaWxsPSIjZTI0MzI5Ii8+Cjwvc3ZnPgo=\&quot;\n       alt=\&quot;GitLab Logo\&quot; /&gt;\n  &lt;/a&gt;\n  &lt;h1&gt;\n    404\n  &lt;/h1&gt;\n  &lt;div class=\&quot;container\&quot;&gt;\n    &lt;h3&gt;The page could not be found or you don't have permission to view it.&lt;/h3&gt;\n    &lt;hr /&gt;\n    &lt;p&gt;The resource that you are attempting to access does not exist or you don't have the necessary permissions to view it.&lt;/p&gt;\n    &lt;p&gt;Make sure the address is correct and that the page hasn't moved.&lt;/p&gt;\n    &lt;p&gt;Please contact your GitLab administrator if you think this is a mistake.&lt;/p&gt;\n    &lt;a href=\&quot;javascript:history.back()\&quot; class=\&quot;js-go-back go-back\&quot;&gt;Go back&lt;/a&gt;\n  &lt;/div&gt;\n  &lt;script&gt;\n    (function () {\n      var goBack = document.querySelector('.js-go-back');\n\n      if (history.length &gt; 1) {\n        goBack.style.display = 'inline';\n      }\n    })();\n  &lt;/script&gt;\n&lt;/body&gt;\n&lt;/html&gt;\n&quot;
</code></pre>
<p><strong>What I've Done so far</strong></p>
<p>I've made sure that my project visibility and the settings are correct:</p>
<p><a href="https://i.sstatic.net/X29J6.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/X29J6.jpg" alt="enter image description here" /></a></p>
<p>I've also created the personal access token - which the successful login proves.</p>
<p><strong>Questions</strong></p>
<p>In googling, it seems that some people found their container registry wasn't actually set up properly.  I'm not sure how to test that if I'm not a global admin.<br />
So my first question is do you know of any other way I can test to make sure that it's a config issue?</p>
<p>If we assume it's actually set up correctly, could it just be that I haven't specified the correct port in my push command?  Like if the admin chose a non standard port, could that be the issue?</p>
<p>Are there other trees I should be barking up?</p>
<p><strong>EDIT 1</strong></p>
<p>These are the options under Packages &amp; Registries</p>
<p><a href="https://i.sstatic.net/vzu3b.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/vzu3b.jpg" alt="enter image description here" /></a></p>

CC BY-SA 4.0
2022-04-21T15:58:42.683Z
Please do not ask duplicate questions https://devops.stackexchange.com/questions/15831/gitlab-project-registry-docker-push-fails-with-invalid-reference-format-error
Evan Carroll
CC BY-SA 4.0
2022-04-21T15:58:59.857Z
Does this answer your question? [gitlab project registry - docker push fails with invalid reference format error message](https://devops.stackexchange.com/questions/15831/gitlab-project-registry-docker-push-fails-with-invalid-reference-format-error)
Evan Carroll
<docker><gitlab><docker-registry>
gitlab container registry: how to test that it's set up and working?
dot
# gitlab container registry: how to test that it's set up and working?

(Asked by: username_0 on 2022-04-21)

I'm trying to push for the first time to a gitlab project container registry.
I am not a gitlab administrator so I can't change global settings.  But as far as my project is concerned I've made sure that I have a personal access token created for the project.
When I try to run my pipeline, it fails with a 404 error.  I've recreated the steps just on the commandline to simplify things.  here's what the output looks like:
PS /Users/me/src/pipelinetests> docker login -u widgetsProjectAccessToken -p asdf mygitserver.org/myusername/pipelinetests

WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded

PS /Users/me/src/pipelinetests> docker build -t mygitserver.org/myusername/pipelinetests:widgetsimage .

[+] Building 190.4s (12/12) FINISHED                                                                                                                                                                                                                                                                                                            
 => [internal] load build definition from Dockerfile                                                                                                                                                                                                                                                                                       0.0s
 => => transferring dockerfile: 37B                                                                                                                                                                                                                                                                                                        0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                                                                                                                          0.0s
 => => transferring context: 2B                                                                                                                                                                                                                                                                                                            0.0s
 => [internal] load metadata for mcr.microsoft.com/username_0net/sdk:6.0.202-bullseye-slim-amd64                                                                                                                                                                                                                                                  0.2s
 => [internal] load build context                                                                                                                                                                                                                                                                                                          0.0s
 => => transferring context: 21.82kB                                                                                                                                                                                                                                                                                                       0.0s
 => [1/7] FROM mcr.microsoft.com/username_0net/sdk:6.0.202-bullseye-slim-amd64@sha256:1ee95620598b9afa3046d356bb7f7863e1602075dd407c790c34d0a9833acc73                                                                                                                                                                                            0.0s
 => => resolve mcr.microsoft.com/username_0net/sdk:6.0.202-bullseye-slim-amd64@sha256:1ee95620598b9afa3046d356bb7f7863e1602075dd407c790c34d0a9833acc73                                                                                                                                                                                            0.0s
 => CACHED [2/7] RUN apt update && apt-get install vim -y                                                                                                                                                                                                                                                                                  0.0s
 => [3/7] COPY . /builds                                                                                                                                                                                                                                                                                                                   0.1s
 => [4/7] RUN curl -sL https://aka.ms/InstallAzureCLIDeb | bash                                                                                                                                                                                                                                                                           93.2s
 => [5/7] RUN apt-get install curl && curl -sL https://deb.nodesource.com/setup_12.x | bash -                                                                                                                                                                                                                                             25.7s
 => [6/7] RUN apt-get install nodejs                                                                                                                                                                                                                                                                                                      13.0s 
 => [7/7] RUN npm install -g azure-functions-core-tools@4 --unsafe-perm true                                                                                                                                                                                                                                                              48.4s 
 => exporting to image                                                                                                                                                                                                                                                                                                                     9.7s 
 => => exporting layers                                                                                                                                                                                                                                                                                                                    9.6s 
 => => writing image sha256:2f30a1f69f875df9e4645bea95247e7f8678da89d2da04524d0fc570e3e1ce4e                                                                                                                                                                                                                                               0.0s 
 => => naming to mygitserver.org/myusername/pipelinetests:widgetsimage                                                                                                                                                                                                                                                              0.0s 
                                                                                                                                                                                                                                                                                                                                                
Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them                                                                                                                                                                                                                                            
PS /Users/me/src/pipelinetests> docker push mygitserver.org/myusername/pipelinetests:widgetsimage

The push refers to repository [mygitserver.org/myusername/pipelinetests]
0ee173286353: Preparing 
4c70ac952b79: Preparing 
b00534d89ac6: Preparing 
b7482490dd9f: Preparing 
ea13d436bb8a: Preparing 
120468cee518: Waiting 
fd6a5c73e987: Waiting 
e4869730bdcc: Waiting 
c782777c8a5d: Waiting 
a45a618792f0: Waiting 
6c946b32cfe2: Waiting 
7dd4a3e7d836: Waiting 
20147d2db13c: Waiting 
9c1b6dd6c1e6: Waiting 
error parsing HTTP 404 response body: invalid character '<' looking for beginning of value: "\n\n\n  \n  The page you're looking for could not be found (404)\n  \n\n\n\n  \n    \n  \n  \n    404\n  \n  \n    The page could not be found or you don't have permission to view it.\n    \n    The resource that you are attempting to access does not exist or you don't have the necessary permissions to view it.\n    Make sure the address is correct and that the page hasn't moved.\n    Please contact your GitLab administrator if you think this is a mistake.\n    Go back\n  \n  \n\n\n"

What I've Done so far
I've made sure that my project visibility and the settings are correct:

I've also created the personal access token - which the successful login proves.
Questions
In googling, it seems that some people found their container registry wasn't actually set up properly.  I'm not sure how to test that if I'm not a global admin.
So my first question is do you know of any other way I can test to make sure that it's a config issue?
If we assume it's actually set up correctly, could it just be that I haven't specified the correct port in my push command?  Like if the admin chose a non standard port, could that be the issue?
Are there other trees I should be barking up?
EDIT 1
These are the options under Packages & Registries

**Tags:** docker, gitlab, docker-registry

> **Comments:**
> **username_1**: Please do not ask duplicate questions https://devops.stackexchange.com/questions/15831/gitlab-project-registry-docker-push-fails-with-invalid-reference-format-error  
> **username_1**: Does this answer your question? [gitlab project registry - docker push fails with invalid reference format error message](https://devops.stackexchange.com/questions/15831/gitlab-project-registry-docker-push-fails-with-invalid-reference-format-error)  

---

## 1 answers

### Answer by username_1 on 2022-04-21. Score: 0 | Accepted answer

It looks to me like you're not pushing to the right port.
When you go to the project space, and then go to your container registry /container_registry (or click under Packages & Registries → Container Registry

Or, like this if you prefer to click on Packages & Registries

On this page you should see a bunch of links, one of them should have something like this,
docker push domain:5050/myusername/pipelinetests

You want to be sure you're including that :5050. That's the defualt port for the GitLab Container Registry. It looks like from that error, that you're targeting the actual project page.

> **Comments:**
> **username_0**: ok so under package & registries, i don't even have Container Registry.  I only have package & infrastructure as options.  I guess that's the smoking gun?  I assumed it would go under package registry.  Please see my EDIT 1 for new screenshot  
> **username_1**: @username_0 that would be a smoking gun, imho yes. I put a copy of the menu above.  

---

