Docker error response from daemon pull access denied for

Hi,everyone I have tried to check all the online resource but I still cant get any solution on this.Hope somebody can help me on this. I trying on portia and scrapy, I have successfully running por...

Hi,everyone
I have tried to check all the online resource but I still cant get any solution on this.Hope somebody can help me on this.
I trying on portia and scrapy, I have successfully running portia locally, but then when I try to extract the data,It pop out the error.
Error response from daemon: pull access denied for portiacrawl, repository does not exist or may require 'docker login'.
I want to extract the data into json format.

This is the code that I used and try to extract the data

docker run -i -t --rm -v aD:/silverlakething/portia/portia/data/projects:rw -v aD:/silverlakething/output:rw -p 9001:900 1 portiacrawl /silverlakething/portia/portia/data/projects/BigData www.lazada.com.my -o /silverlakethin g/output/www.lazada.com.my.json

This is the Error

Unable to find image 'portiacrawl:latest' locally
D:silverlakethingDocker Toolboxdocker.exe: Error response from daemon: pull access denied for portiacrawl, repository does not exist or may require 'docker login'.
See 'D:silverlakethingDocker Toolboxdocker.exe run --help'.

docker images the repository is running.
Login is successful.

When I run docker images

REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
scrapinghub/portia   latest              f453caf755d4        4 weeks ago         1.12GB

My laptop is Window 10 home, currently using docker toolbox.
Here is my docker version

Client:
 Version:      17.10.0-ce
 API version:  1.32 (downgraded from 1.33)
 Go version:   go1.8.3
 Git commit:   f4ffd25
 Built:        Tue Oct 17 19:00:02 2017
 OS/Arch:      windows/amd64

Server:
 Version:      17.09.1-ce
 API version:  1.32 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   19e2cf6
 Built:        Thu Dec  7 22:28:28 2017
 OS/Arch:      linux/amd64
 Experimental: false

So how can I solve this?Please help

It’s already Friday, and I’m delighted 😉 to see you here.

Another day of problem-solving, so we’ll see how it goes.

When I tried to pull from Docker Hub, I ran into the same problem, and here’s how I solved it after some digging.

Login

We’ll need to log in or confirm that we’re logged in to our Docker Hub account via the terminal, which we can do with the command below.

The -u option allows us to pass our user name.

docker login -u your_user_name

To see options for logging in :

docker login --help

A prompt will request for our password for DockerHub similar to what we have in the screenshot below:

docker login_result.png

Now we can successfully push and pull repository,

Using the command below to push repository to our docker hub

docker push your_username/your_repository

to pull, we will use the command below:

docker pull your_username/your_repository

Yeah, that’s all 😉😊 you just fixed that error.

I’d love to connect via Twitter | LinkedIn | GitHub

See you next Friday in DevOpsFriday series. Take care!!!

I am using Laravel 4.2 with docker. I setup it on local. It worked without any problem but when I am trying to setup online using same procedure then I am getting error:

pull access denied for <projectname>/php, repository does not exist or may require 'docker login'

is it something relevant to create repository here https://cloud.docker.com/ or need to docker login in command?

After days of study I am still not able to figure out what could be the fix in this case and what are the right steps?

I have the complete code. I can paste here if need to check certain parts.

John Smith's user avatar

John Smith

7,1436 gold badges48 silver badges61 bronze badges

asked Feb 10, 2018 at 10:49

Jass's user avatar

0

Please note that the error message from Docker is misleading.

$ docker build deploy/.
Sending build context to Docker daemon  5.632kB
Step 1/16 : FROM rhel7:latest
pull access denied for rhel7, repository does not exist or may require 'docker login'

It says that it may require ‘docker login’.
I struggled with this. I realized the image does not exist at https://hub.docker.com any more.

user's user avatar

user

4,8555 gold badges17 silver badges35 bronze badges

answered Jan 10, 2019 at 14:36

Daniel Nelson's user avatar

Daniel NelsonDaniel Nelson

1,6881 gold badge11 silver badges11 bronze badges

7

Just make sure to write the docker name correctly!

In my case, I wrote (notice the extra ‘u’):

FROM ubunutu:16.04

The correct docker name is:

FROM ubuntu:16.04

answered Feb 3, 2020 at 9:44

Moka's user avatar

MokaMoka

91310 silver badges10 bronze badges

6

The message usually comes when you put the wrong image name. Please check your image if it exists on the Docker repository with the correct tag.
It helped me.

docker run -d -p 80:80 --name ngnix ngnix:latest
Unable to find image 'ngnix:latest' locally
docker: Error response from daemon: pull access denied for ngnix, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
$ docker run -d -p 80:80 --name nginx nginx:latest
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx

answered Jun 19, 2020 at 13:20

Vishnu Dubey's user avatar

I had the same issue. In my case it was a private registry. So I had to create a secret as shown here

and then we have to add the image pull secret to the deployment.yaml file as shown below.

pods/private-reg-pod.yaml  
apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: regcred

answered Sep 25, 2018 at 9:03

hushed_voice's user avatar

hushed_voicehushed_voice

2,8932 gold badges30 silver badges60 bronze badges

November 2020 and later

If this error is new, and pulling from Docker Hub worked in the past, note Docker Hub now introduced rate limiting in Nov 2020

You will frequently see messages like:

Warning: No authentication provided, using CircleCI credentials for pulls from Docker Hub.

From Circle CI and other similar tools that use Docker Hub. Or:

Error response from daemon: pull access denied for cimg/mongo, repository does not exist or may require ‘docker login’: denied: requested access to the resource is denied

You’ll need to specify the credentials used to fetch the image:

For CircleCI users:

      - image: circleci/mongo:4.4.2

        # Needed to pull down Mongo images from Docker hub
        # Get from https://hub.docker.com/
        # Set up at https://app.circleci.com/pipelines/github/org/sapp
        auth:
          username: $DOCKERHUB_USERNAME
          password: $DOCKERHUB_PASSWORD

answered Jan 4, 2021 at 17:01

mikemaccana's user avatar

mikemaccanamikemaccana

103k93 gold badges371 silver badges470 bronze badges

1

I had the same issue

pull access denied for microsoft/mmsql-server-linux, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

Turns out the DockerHub was moved to a different name
So I would suggest you re check-in docker hub

answered Feb 17, 2021 at 17:46

Jeet Singh's user avatar

Jeet SinghJeet Singh

811 silver badge6 bronze badges

1

I solved this by inserting a language at the front of the docker image

FROM python:3.7-alpine

answered Oct 7, 2019 at 14:25

kodek-sleuth's user avatar

I had the same error message but for a totally different reason.

Being new to docker, I issued

docker run -it <crypticalId>

where <crypticalId> was the id of my newly created container.

But, the run command wants the id of an image, not a container.

To start a container, docker wants

docker start -i <crypticalId>

answered Dec 26, 2019 at 11:50

Gyro Gearloose's user avatar

Gyro GearlooseGyro Gearloose

1,0461 gold badge8 silver badges26 bronze badges

0

In my case I was using a custom image and docker baked into Minikube on my local machine.

I had specified the pull policy incorrectly:-

imagePullPolicy: Always

But it should have been:-

imagePullPolicy: IfNotPresent

Because the custom image was only present locally after I’d explicitly built it in the minikube docker environment.

answered Jun 2, 2021 at 20:15

mattocaramba's user avatar

I had this because I inadvertantly remove the AS tag from my first image:

ex:

FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64
...
.. etc ...
...
FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64
COPY --from=installer ["/dotnet", "/Program Files/dotnet"]
... etc ...

should have been:

FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64 AS installer
...
.. etc ...
...
FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64
COPY --from=installer ["/dotnet", "/Program Files/dotnet"]
... etc ...

answered Mar 12, 2020 at 20:01

Post Impatica's user avatar

Post ImpaticaPost Impatica

14.2k8 gold badges64 silver badges75 bronze badges

I had the same issue when working with docker-composer. In my case it was an Amazon AWS ECR private registry. It seems to be a bug in docker-compose

https://github.com/docker/compose/issues/1622#issuecomment-162988389

After adding the full path «myrepo/myimage» to docker compose yaml

image: xxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/myrepo:myimage

it was all fine.

answered Mar 25, 2019 at 9:01

Stefan Matei's user avatar

Stefan MateiStefan Matei

1,04610 silver badges10 bronze badges

This error message might possibly indicate something else.

In my case I defined another Docker-Image elsewhere from which the current Docker inherited its settings (docker-compos.yml):

FROM my_own_image:latest

The error message I got:

qohelet$ docker-compose up
Building web
Step 1/22 : FROM my_own_image:latest
ERROR: Service 'web' failed to build: pull access denied for my_own_image, repository does not exist or may require 'docker login'

Due to a reinstall the previous Docker were gone and I couldn’t build my docker using docker-compose up with this command:

sudo docker build -t my_own_image:latest -f MyOwnImage.Dockerfile .

In your specific case you might have defined your own php-docker.

answered Nov 14, 2019 at 15:35

Qohelet's user avatar

QoheletQohelet

1,4413 gold badges23 silver badges40 bronze badges

0

If the repository is private you have to assign permissions to download it. You have two options, with the docker login command, or put in ~/.docker/docker.config the file generated once you login.

answered Feb 10, 2018 at 17:54

Facundo Diaz Cobos's user avatar

6

if you have over two stage in the docker build process read this solution:
this error message is completely misleading.

if you have a two-stage (context) dockerfile and want to copy some data from the first to the second stage, you must label the first context (ex: build) and access it by that label

#stage(1)
from <image> as build 
.
.
#stage(2)
From <image>
copy --from=build /sourceDir  /distinationDir

answered Mar 9, 2021 at 8:50

mohamad soltani nezamabadi's user avatar

Docker might have lost the authentication data. So you’ll have to reauthenticate with your registry provider. With AWS for example:

aws ecr get-login --region us-west-2 --no-include-email

And then copy and paste that resulting «docker login…» to authenticated docker.

Source: Amazon ECR Registeries

answered Aug 12, 2019 at 22:08

iAmcR's user avatar

iAmcRiAmcR

82911 silver badges10 bronze badges

1

If you’re downloading from somewhere else than your own registry or docker-hub, you might have to do a separate agreement of terms on their site, like the case with Oracle’s docker registry. It allows you to do docker login fine, but pulling the container won’t still work until you go to their site and agree on their terms.

answered Sep 6, 2019 at 6:33

J-ho's user avatar

J-hoJ-ho

2092 silver badges17 bronze badges

Make sure the image exists in docker hub. To me, I was trying to pull MongoDB using the command docker run mongodb which is incorrect. In the docker hub, the image name is mongo.

answered Apr 21, 2020 at 5:14

Sathishkumar Rakkiyasamy's user avatar

If you don’t have an image with that name locally, docker will try to pull it from docker hub, but there’s no such image on docker hub.
Or simply try «docker login».

answered Jun 10, 2020 at 9:08

Max Sherbakov's user avatar

I had to run docker pull first, then running docker-compose up again and then it worked.

docker pull index.docker.io/youruser/yourrepo:latest

Tyler2P's user avatar

Tyler2P

2,28118 gold badges23 silver badges29 bronze badges

answered Jan 30, 2022 at 15:24

Jhnsbrst's user avatar

1

Try this in your docker-compose.yml file

image: php:rc-zts-alpine

answered Nov 7, 2019 at 13:23

Hardik Raval's user avatar

Hardik RavalHardik Raval

3,2261 gold badge25 silver badges27 bronze badges

If you are using multiple Dockerfiles you should not forget to run build for all of it. That was my case.

answered Dec 7, 2021 at 10:26

renkse's user avatar

renkserenkse

4827 silver badges15 bronze badges

When I run the command multiple times «docker pull scrapinghub/splash» in Power shell then it solve the issue.

answered Mar 1, 2021 at 11:09

kamran kausar's user avatar

kamran kausarkamran kausar

3,7911 gold badge21 silver badges17 bronze badges

if it was caused with AWS EC2 and ECR, due to name issue(happens with beginners!)

Error response from daemon: pull access denied for my-app, repository does not exist or may require ‘docker login’: denied: requested access to the resource is denied

when using docker pull use Image URI of the image, available in ECR-row itself as Copy URI

docker pull Image_URI

answered May 6, 2021 at 15:38

Ajay Tom George's user avatar

Ajay Tom GeorgeAjay Tom George

1,6691 gold badge10 silver badges24 bronze badges

I have seen this message and thought something was wrong about my Docker authentication. However, I’ve realized that Docker only allows 1 private repository per free plan. So it is quite possible that you are trying to pull your private repository and see this error because have not upgraded your plan.

answered Sep 3, 2021 at 6:27

Mert Sevinc's user avatar

Mert SevincMert Sevinc

8841 gold badge8 silver badges25 bronze badges

Got the same problem but nothing worked. And then I understood I need run .sh (.ps1) script first before doing docker-compose.

So I have the following files:

   docker-compose.yml
   
   docker-build.sh
   
   docker-build.ps1
   
   Dockerfile

And I had to first run docker-build.sh on Unix (Mac) machine or docker-build.ps1 on Windows:

sh docker-build.sh

It will build an image in my case.
And only then after an image has been built I can run:

docker-compose up --build

For references. Here is my docker-compose file:

version: '3.8'

services:

  api-service:
    image: x86_64/prediction-service:0.8.1
    container_name: api-service
    expose:
      - 8060
    ports:
      - "8060:80"    

And here is docker-build.sh:

VERSION="0.8.1"
ARCH="x86_64"
APP="prediction-service"
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
docker build -f $DIR/Dockerfile -t $ARCH/$APP:$VERSION .

answered Oct 6, 2021 at 22:41

illuminato's user avatar

illuminatoilluminato

9681 gold badge9 silver badges28 bronze badges

I had misspelled nginx to nignx in Dockerfile

answered Nov 4, 2021 at 2:34

Nishant Kumar's user avatar

Nishant KumarNishant Kumar

6321 gold badge9 silver badges26 bronze badges

2

In my case the solution was to re-create docker-file through visual studio and all worked perfeclty.

Dharman's user avatar

Dharman

29.3k21 gold badges80 silver badges131 bronze badges

answered Jan 24, 2022 at 14:24

lorenzoKyne's user avatar

I heard the same issue.
I solved by login

docker login -u your_user_name

then I was prompt to enter docker hub password
The rest command work perfect after login successfull

answered May 21, 2022 at 23:33

MacDonald Ejime  Oghenefejiro's user avatar

Someone might come across the same error for different reasons than what is already presented, so let me share:

I got the same error when using docker multistage builds (Multiple: FROM <> as <>).
And I forgot to remove one (COPY —from=<> <>)

After removing that COPY then it worked fine.

answered Jun 12, 2022 at 6:22

P. Sithole's user avatar

Exceeded Docker Hub’s Limit on Free Repos:

Despite first executing:

docker login -u <dockerhub uname>

and «Login Succeeded» being returned, I received the error in this question.

In the webgui in Settings > Visibility Settings I remarked:

Using 2 of 1 private repositories.

Which told me that I had exceeded the limit on Docker Hub’s free account limits. However, removing a previous image didn’t clear the error…

The Fix:

Indeed, the error message in my case was a red herring- it’s nothing related to authentication issues.

Deleting just the images exceeding the allowed limit did NOT clear the error however!

To get past the error you need to delete ALL the images in your FREE Docker Hub account, then run a new build pushing the image to your account.

Your pull command will now succeed.

answered Jul 12, 2022 at 7:36

F1Linux's user avatar

F1LinuxF1Linux

3,2343 gold badges21 silver badges22 bronze badges

I am using Laravel 4.2 with docker. I setup it on local. It worked without any problem but when I am trying to setup online using same procedure then I am getting error

pull access denied for <projectname>/php, repository does not exist or may require 'docker login'

is it something relevant to create repository here https://cloud.docker.com/ or need to docker login in command?

After days of study I am still not able to figure out what could be the fix in this case and what are the right steps?

I have the complete code. I can paste here if need to check certain parts.

21 Answers

Please note that the error message from Docker is misleading.

$ docker build deploy/.
Sending build context to Docker daemon  5.632kB
Step 1/16 : FROM rhel7:latest
pull access denied for rhel7, repository does not exist or may require 'docker login'

It says that it may require ‘docker login’.
I struggled with this. I realized the image does not exist at https://hub.docker.com any more. I hope this helps someone.

Just make sure to write the docker name correctly!

In my case, I wrote (notice the extra ‘u’):

FROM ubunutu:16.04

The correct docker name is:

FROM ubuntu:16.04

I had the same issue. In my case it was a private registry. So I had to create a secret as shown here

and then we have to add the image pull secret to the deployment.yaml file as shown below.

pods/private-reg-pod.yaml  
apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: regcred

The message usually comes when you put the wrong image name. Please check your image if it exists on the Docker repository with the correct tag.
It helped me.

docker run -d -p 80:80 --name ngnix ngnix:latest
Unable to find image 'ngnix:latest' locally
docker: Error response from daemon: pull access denied for ngnix, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
$ docker run -d -p 80:80 --name nginx nginx:latest
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx

I solved this by inserting a language at the front of the docker image

FROM python:3.7-alpine

November 2020 and later

If this error is new, and pulling from Docker Hub worked in the past, note Docker Hub now introduced rate limiting in Nov 2020

You will frequently see messages like:

Warning: No authentication provided, using CircleCI credentials for pulls from Docker Hub.

From Circle CI and other similar tools that use Docker Hub. Or:

Error response from daemon: pull access denied for cimg/mongo, repository does not exist or may require ‘docker login’: denied: requested access to the resource is denied

You’ll need to specify the credentials used to fetch the image:

For CircleCI users:

      - image: circleci/mongo:4.4.2

        # Needed to pull down Mongo images from Docker hub
        # Get from https://hub.docker.com/
        # Set up at https://app.circleci.com/pipelines/github/org/sapp
        auth:
          username: $DOCKERHUB_USERNAME
          password: $DOCKERHUB_PASSWORD

I had this because I inadvertantly remove the AS tag from my first image:

ex:

FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64
...
.. etc ...
...
FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64
COPY --from=installer ["/dotnet", "/Program Files/dotnet"]
... etc ...

should have been:

FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64 AS installer
...
.. etc ...
...
FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64
COPY --from=installer ["/dotnet", "/Program Files/dotnet"]
... etc ...

I had the same issue when working with docker-composer. In my case it was an Amazon AWS ECR private registry. It seems to be a bug in docker-compose

https://github.com/docker/compose/issues/1622#issuecomment-162988389

After adding the full path «myrepo/myimage» to docker compose yaml

image: xxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/myrepo:myimage

it was all fine.

I had the same error message but for a totally different reason.

Being new to docker, I issued

docker run -it <crypticalId>

where <crypticalId> was the id of my newly created container.

But, the run command wants the id of an image, not a container.

To start a container, docker wants

docker start -i <crypticalId>

If the repository is private you have to assign permissions to download it. You have two options, with the docker login command, or put in ~/.docker/docker.config the file generated once you login.

if you have over two stage in the docker build process read this solution:
this error message is completely misleading.

if you have a two-stage (context) dockerfile and want to copy some data from the first to the second stage, you must label the first context (ex: build) and access it by that label

#stage(1)
from <image> as build 
.
.
#stage(2)
From <image>
copy --from=build /sourceDir  /distinationDir

Docker might have lost the authentication data. So you’ll have to reauthenticate with your registry provider. With AWS for example:

aws ecr get-login --region us-west-2 --no-include-email

And then copy and paste that resulting «docker login…» to authenticated docker.

Source: Amazon ECR Registeries

If you’re downloading from somewhere else than your own registry or docker-hub, you might have to do a separate agreement of terms on their site, like the case with Oracle’s docker registry. It allows you to do docker login fine, but pulling the container won’t still work until you go to their site and agree on their terms.

Try this in your docker-compose.yml file

image: php:rc-zts-alpine

This error message might possibly indicate something else.

In my case I defined another Docker-Image elsewhere from which the current Docker inherited its settings (docker-compos.yml):

FROM my_own_image:latest

The error message I got:

qohelet$ docker-compose up
Building web
Step 1/22 : FROM my_own_image:latest
ERROR: Service 'web' failed to build: pull access denied for my_own_image, repository does not exist or may require 'docker login'

Due to a reinstall the previous Docker were gone and I couldn’t build my docker using docker-compose up with this command:

sudo docker build -t my_own_image:latest -f MyOwnImage.Dockerfile .

In your specific case you might have defined your own php-docker.

Make sure the image exists in docker hub. To me, I was trying to pull MongoDB using the command docker run mongodb which is incorrect. In the docker hub, the image name is mongo.

If you don’t have an image with that name locally, docker will try to pull it from docker hub, but there’s no such image on docker hub.
Or simply try «docker login».

When I run the command multiple times «docker pull scrapinghub/splash» in Power shell then it solve the issue.

In my case I was using a custom image and docker baked into Minikube on my local machine.

I had specified the pull policy incorrectly:-

imagePullPolicy: Always

But it should have been:-

imagePullPolicy: IfNotPresent

Because the custom image was only present locally after I’d explicitly built it in the minikube docker environment.

I had the same issue

pull access denied for microsoft/mmsql-server-linux, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

Turns out the DockerHub was moved to a different name
So I would suggest you re check-in docker hub

if it was caused with AWS EC2 and ECR, due to name issue(happens with beginners!)

Error response from daemon: pull access denied for my-app, repository does not exist or may require ‘docker login’: denied: requested access to the resource is denied

when using docker pull use Image URI of the image, available in ECR-row itself as Copy URI

docker pull Image_URI

git-pull-error

A Docker image is a file used to execute code in a Docker container and it acts as a set of instructions to build a Docker container (more like a template). A Docker image contains application code, libraries, tools, dependencies, and other files needed to make an application run. The Registry is a stateless, highly scalable server-side application that stores and lets you distribute Docker images and it is open-source, under the permissive Apache license. To download a particular image, or set of images (i.e., a repository), use docker pull. If no tag is provided, Docker Engine uses the :latest tag as a default. Kindly refer to some of these related guides: How to install Git on macOS, how to clone a repository and install software from GitHub on Windows, Panic: Failed to register the GitLab-runner, you may be having network issues,

You should use the Registry if you want to:
- Tightly control where your images are being stored.
- Fully own your images distribution pipeline.
- Integrate image storage and distribution tightly into your in-house development workflow

You will encounter this error also when running a pipeline job in GitLab. This is because the image in question does not match the container version. I simulated this using the following image (mcr.microsoft.com/windows/servercore:ltsc2022), and the error below was prompted. Please see the solution below. You may also want to see this guide on how to install and uninstall Docker Desktop on Windows 10 and Windows Server.

Pulling docker image windows ...
WARNING: Failed to pull image with policy "always": Error response from daemon: pull access denied for windows, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
ERROR: Job failed: failed to pull image "windows" with specified policies [always]: Error response from daemon: pull access denied for windows, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.

Windows offers four container base images that users can build from. Each base image is a different type of the Windows or Windows Server operating system, has a different on-disk footprint, and has a different set of the Windows API set. Each base image is briefly described below:

  • Nano Server is an ultralight Windows offering for new application development.
  • Server Core is medium in size and a good option for “lifting and shifting” Windows Server apps.
  • Windows is the largest image and has full Windows API support for workloads.
  • Windows Server is slightly smaller than the Windows image, has full Windows API support, and allows you to use more server features.

Solution: Use the right Container Base Image

Windows requires the host OS version to match the container OS version. If you want to run a container based on a newer Windows build, make sure you have an equivalent host build. Otherwise, you can use Hyper-V isolation to run older containers on new host builds. Please specify in the config.toml file the right image that matches the container OS version that you are running.

I am running a Docker Desktop on a Windows 20H2 device with a Windows Container daemon. Ensure you specify the right image “mcr.microsoft.com/windows:20H2” as shown in the file below.

[[runners]]
  name = "docker-windows executor"
  url = "https://gitlabcom/"
  token = "xxxxxxxxxxxxxxx"
  executor = "docker-windows"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = xxxxx
    image = "mcr.microsoft.com/windows:20H2"

When this has been correctly specified and you run your job again, it will succeed as shown below.

result: Pulling docker image mcr.microsoft.com/windows:20H2 ...
Using docker image sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx for mcr.microsoft.com/windows:20H2 with digest mcr.microsoft.com/windows@xxxxxxx...
Preparing environment
00:10
Running on RUNNER-xxxxxxx via
techDPC

Note: The message could also occur when you use the wrong image name. Please check your image if it exists on the Docker Hub Repository with the correct tag. Also, If the repository is private you need to authenticate your GitLab Runner in the registry. Read more on using a private Docker registry. Kindly refer to this troubleshooting guide for more information “Docker image OS” windows” cannot be used on this platform: No matching manifest for linux/amd64 in the manifest list entries from Microsoft Docker Registry“.

I hope you found this blog post helpful. If you have any questions, please let me know in the comment session.

Hi,

I’m here posting, trying to understand if am I missing anything in trying to make Docker work on an Azure VM.

I can set up correctly everything on the Windows Server 2019 VM, as it is stated in this document(How to Install Docker and Run Docker Containers on Windows Server 2019 (foldersecurityviewer.com)) but when it comes to perform a docker pull, of even if I have a swarm configured, I simply can’t download any docker image.

The error I get:

PS C:Usersthatuser> docker pull windows/nanoserver
Using default tag: latest
Error response from daemon: pull access denied for windows/nanoserver, repository does not exist or may require ‘docker login’: denied: requested access to the resource is denied

well, I tried first doing a docker login, as they suggest, but no matter what image I try (windows or linux) I simply can’t get anything. Of course for linux it complains about other issue, due to the platform, which I don’t think it’s relevant, because I only want to deploy  windows based containers.

If anyone can help out, would be great. It kind of seems to me this is not possible to do, the way I seem to be doing(Simple Standard D2s v3 (2 vcpus, 8 GiB memory) VM with Windows Server 2019)

Thanks,

Nuno

Понравилась статья? Поделить с друзьями:
  • Docker error response from daemon no command specified
  • Docker error response from daemon no build stage in current context
  • Docker error response from daemon mkdir
  • Docker error response from daemon manifest for
  • Docker error response from daemon get https registry 1 docker io v2