Docker: “no matching manifest for windows/amd64 in

2019-03-09 16:52发布

I use Docker on Windows, and when I tried to pull a PHP image with this command

$ docker pull php

I got this message:

Using default tag: latest
latest: Pulling from library/php no matching manifest for windows/amd64 
        in the manifest list entries

How can I fix this problem?

标签: docker
9条回答
何必那么认真
2楼-- · 2019-03-09 17:12

This may not only happen due to windows containers!

Today all Node.Js docker images are not pullable. Always check the image you are trying to pull before.

Related Github-Issue

查看更多
可以哭但决不认输i
3楼-- · 2019-03-09 17:16

You are in Windows container mode. So if you're not sure that the image you want to pull is built for the Windows architecture, you need to switch to Linux containers.

查看更多
Rolldiameter
4楼-- · 2019-03-09 17:17

From this article:

Linux vs. Windows Containers: What’s the Difference?

With Docker container support now available for Windows Server 2016, admins are bound to wonder what the differences are between Windows and Linux containers. Here’s an overview.

To keep things simple, let’s break them down into their similarities and differences. They look like this:

Similarities

Docker containers on Linux and Windows are similar in the following ways: They are designed to function as application containers. They run natively, meaning they do not depend on hypervisors or virtual machines. They can be administered through Docker (although you can also use PowerShell to manage containers on Windows). They are limited to containing applications that are natively supported by the host operating system. In other words, Docker for Windows can only host Windows applications inside Docker containers, and Docker on Linux supports only Linux apps. They provide the same portability and modularity features on both operating systems.

Differences

And here’s what makes Docker on Windows different:

Docker supports only certain versions of Windows (namely, Windows Server 2016 and Windows 10). In contrast, Docker can run on any type of modern Linux-based operating system. Even on Windows versions that are supported by Docker, Windows has stricter requirements regarding image compatibility. Read more about those [here*]). Some Docker networking features for containers are not yet supported on Windows. They are detailed at the bottom of this page. Most of the container orchestration systems that are used for Docker on Linux are not supported on Windows. The exception is Docker Swarm, which is supported. (If you want to use a different orchestrator on Windows, however, fret not; Windows support for orchestrators such as Kubernetes and Apache Mesos is under development.)

Non-Docker Containers and Windows

It is worth mentioning, too, that Docker is the only major container platform that is currently compatible with Windows. Other types of container engines, such as OpenVZ and LXD, are still Linux-only, and probably will remain so for the foreseeable future.

Since these container platforms cater to different types of use cases than Docker, their lack of Windows support may not matter for admins deciding whether to run Docker on Windows or Linux. Still, the fact that Docker is the only container option available on Windows is significant because it highlights the fact that the Windows container ecosystem is, for now, much smaller than the Linux container world.

Here's the missing link from above quote : here

the solution is :

  1. Right click Docker instance

  2. List item

  3. Go to Settings

  4. Daemon

  5. Advanced

  6. Set the "experimental": true

Restart Docker

查看更多
登录 后发表回答