Skip to content

TechDirectArchive

Hands-on IT, Cloud, Security & DevOps Insights

  • Home
  • About
  • Advertise With US
  • Reviews
  • Contact
  • Toggle search form
Home » Version Control System » Failed to pull image with the policy “always” error from the daemon
  • screenshot 2020 03 29 at 18.19.50
    Shortcut for Windows update: How to create a shortcut for Windows scheduled task Windows Server
  • HyperV and vSwitch creation
    Install HyperV and Configure vSwitch on Windows Server with PowerShell Virtualization
  • intro to azure cloud shell
    The Overview of Azure Cloud Shell AWS/Azure/OpenShift
  • prettier boot image
    How to stop Cisco Webex Meetings from starting up automatically on macOS Mac
  • Capture 2
    MDT Invalid credentials: The network was not found Windows
  • windows 10 bjw3 1280x720 1
    Difference between testing and debugging Windows
  • Interactive logon Message for Users
    Display interactive logon messages for Windows PCs via GPO Windows
  • ansible logo600 591x296 1 1
    Ansible error: Server unreachable, ssl: auth method ssl requires a password Configuration Management Tool

Failed to pull image with the policy “always” error from the daemon

Posted on 17/10/202122/02/2025 Christian By Christian No Comments on Failed to pull image with the policy “always” error from the daemon
git-pull-error

A Docker image is a file used to execute code in a Docker container. It acts as a set of instructions to build a Docker container (more like a template). In this article, we shall learn “how to fix failed to pull the image with the policy “always” error from the daemon”. A Docker image contains application code, libraries, tools, dependencies, and other files needed to make an application run. Here are some related guides: How to manually update Docker desktop. How to install Docker Desktop and register GitLab-Runner with Docker Windows executor.

The Registry is a stateless, highly scalable server-side application that stores and lets you distribute Docker images. It is open-source, under the permissive Apache license. In this article, you will learn how to fix failed to pull the image with the policy “always” error from the daemon.

How to download a Docker Image

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.

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

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, How to Pull your first Nginx Container Image from Docker Hu hub, and how to fix “Panic: Failed to register the GitLab-runner, you may be having network issues“.

Reason for the Error “failed to pull the image with the policy “always” error from the daemon”

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.

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 Windows or Windows Server operating system, has a different on-disk footprint. And has a different set of Windows APIs 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.

You may also want to see this guide on how to install and uninstall Docker Desktop on Windows 10 and Windows Server. How to install and upgrade Docker Engine from binaries on Windows, and Preparation failed: Error during connect in the default daemon configuration.

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 on how to fix failed to pull the image with the policy “always” error from the daemon very helpful. If you have any questions, please let me know in the comment session.

5/5 - (1 vote)

Thank you for reading this post. Kindly share it with others.

  • Click to share on X (Opens in new window) X
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Telegram (Opens in new window) Telegram
  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to share on Mastodon (Opens in new window) Mastodon
  • Click to share on Bluesky (Opens in new window) Bluesky
  • Click to share on Threads (Opens in new window) Threads
  • Click to share on Nextdoor (Opens in new window) Nextdoor
Version Control System Tags:docker, Docker Desktop, docker image, docker registry, GitLab, GitLab-Runner, Windows 10, Windows 11

Post navigation

Previous Post: The executor requires OSType=windows, but Docker Engine supports only OSType=linux
Next Post: Preparation failed: The docker client must be run with elevated privileges

Related Posts

  • banner
    Fix npm install hangs on “sill idealTree buildDeps” Linux
  • gitlabcomplete
    Install Docker Desktop and register GitLab-Runner with Docker-windows executor Containers
  • Screenshot 2022 03 20 at 21.08.50
    How to integrate AWS CodeBuild and AWS CodeCommit to SonarCloud AWS/Azure/OpenShift
  • Deploy Web App from GitHub
    Deploy Code from GitHub to Azure Apps Services via the Command line AWS/Azure/OpenShift
  • uninstall gtla runner
    How to uninstall GitLab Runner from your Windows device Version Control System
  • connect GitHub and Build a CI:CD Pipeline with Vercel
    How to connect GitHub and Build a CI/CD Pipeline with Vercel Version Control System

More Related Articles

banner Fix npm install hangs on “sill idealTree buildDeps” Linux
gitlabcomplete Install Docker Desktop and register GitLab-Runner with Docker-windows executor Containers
Screenshot 2022 03 20 at 21.08.50 How to integrate AWS CodeBuild and AWS CodeCommit to SonarCloud AWS/Azure/OpenShift
Deploy Web App from GitHub Deploy Code from GitHub to Azure Apps Services via the Command line AWS/Azure/OpenShift
uninstall gtla runner How to uninstall GitLab Runner from your Windows device Version Control System
connect GitHub and Build a CI:CD Pipeline with Vercel How to connect GitHub and Build a CI/CD Pipeline with Vercel Version Control System

Leave a Reply Cancel reply

You must be logged in to post a comment.

Microsoft MVP

VEEAMLEGEND

vexpert-badge-stars-5

Virtual Background

GoogleNews

Categories

veeaam100

sysadmin top30a
 
  • screenshot 2020 03 29 at 18.19.50
    Shortcut for Windows update: How to create a shortcut for Windows scheduled task Windows Server
  • HyperV and vSwitch creation
    Install HyperV and Configure vSwitch on Windows Server with PowerShell Virtualization
  • intro to azure cloud shell
    The Overview of Azure Cloud Shell AWS/Azure/OpenShift
  • prettier boot image
    How to stop Cisco Webex Meetings from starting up automatically on macOS Mac
  • Capture 2
    MDT Invalid credentials: The network was not found Windows
  • windows 10 bjw3 1280x720 1
    Difference between testing and debugging Windows
  • Interactive logon Message for Users
    Display interactive logon messages for Windows PCs via GPO Windows
  • ansible logo600 591x296 1 1
    Ansible error: Server unreachable, ssl: auth method ssl requires a password Configuration Management Tool

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 1,841 other subscribers
  • RSS - Posts
  • RSS - Comments
  • About
  • Authors
  • Write for us
  • Advertise with us
  • General Terms and Conditions
  • Privacy policy
  • Feedly
  • Telegram
  • Youtube
  • Facebook
  • Instagram
  • LinkedIn
  • Tumblr
  • Pinterest
  • Twitter
  • mastodon

Tags

AWS Azure Bitlocker Microsoft Windows PowerShell WDS Windows 10 Windows 11 Windows Deployment Services Windows Server 2016

Copyright © 2025 TechDirectArchive

 

Loading Comments...
 

You must be logged in to post a comment.