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

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

Posted on 17/10/202121/01/2026 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.

Also, see HA-Proxy Configuration File: Copy Between Nodes on Proxmox VE, how to switch users in Linux, and How to enable ssh via ASDM on Cisco ASA.

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.

  • Share on X (Opens in new window) X
  • Share on Reddit (Opens in new window) Reddit
  • Share on LinkedIn (Opens in new window) LinkedIn
  • Share on Facebook (Opens in new window) Facebook
  • Share on Pinterest (Opens in new window) Pinterest
  • Share on Tumblr (Opens in new window) Tumblr
  • Share on Telegram (Opens in new window) Telegram
  • Share on WhatsApp (Opens in new window) WhatsApp
  • Share on Mastodon (Opens in new window) Mastodon
  • Share on Bluesky (Opens in new window) Bluesky
  • Share on Threads (Opens in new window) Threads
  • 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

  • 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
  • maxresdefault 2
    AWS CodeCommit: A Guide to Efficient Usage Version Control System
  • s3versioning
    Hosting Static Website and Versioning on AWS S3 AWS/Azure/OpenShift
  • Git not Recognized Image banner
    Fix Git is not recognised as an internal or external command Version Control System
  • Screenshot 2022 03 20 at 20.37.16
    Setup HTTPS users using Git credentials and Pushing Code to AWS CodeCommit AWS/Azure/OpenShift
  • SUBVERSION FEATURE
    How to Install Apache Subversion on a Linux System Linux

More Related Articles

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
maxresdefault 2 AWS CodeCommit: A Guide to Efficient Usage Version Control System
s3versioning Hosting Static Website and Versioning on AWS S3 AWS/Azure/OpenShift
Git not Recognized Image banner Fix Git is not recognised as an internal or external command Version Control System
Screenshot 2022 03 20 at 20.37.16 Setup HTTPS users using Git credentials and Pushing Code to AWS CodeCommit AWS/Azure/OpenShift
SUBVERSION FEATURE How to Install Apache Subversion on a Linux System Linux

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

Veeam Vanguard

  • xxxxxx
    How to make a screenshot of Windows 10 Screen / Login Screen Windows
  • screenshot 2020 03 07 at 22.25.21
    How to export and import User Profile – FrontFace Lockdown Tool Windows
  • drivelock
    How to perform DriveLock quick setup Security | Vulnerability Scans and Assessment
  • screenshot 2020 03 13 at 21.22.29
    How to determine Cygwin version Windows Server
  • Angular 1
    How to deploy an Angular App to AWS S3 AWS/Azure/OpenShift
  • Featured image 8
    How to restore quarantined files in Microsoft Defender Antivirus Security | Vulnerability Scans and Assessment
  • Slide2 1
    Create and Delete AD DS Partition with NTDSUTIL.EXE Windows Server
  • Featured image   Missing Taskbar icon
    How to Fix Taskbar Icons Missing on Windows 11 Windows

Subscribe to Blog via Email

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

Join 1,813 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

Active Directory 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.