Docker : "매니페스트 목록 항목에 windows / amd64와 일치하는 매니페스트가 없습니다"
Windows에서 Docker를 사용하고이 명령으로 PHP 이미지를 가져 오려고 할 때
$ docker pull php
이 메시지를 받았습니다.
Using default tag: latest
latest: Pulling from library/php no matching manifest for windows/amd64
in the manifest list entries
이 문제를 어떻게 해결할 수 있습니까?
Windows 10에서 동일한 문제가 발생했습니다. 실험 모드에서 Docker 데몬을 실행하여 우회했습니다.
- Docker 인스턴스를 마우스 오른쪽 단추로 클릭하십시오.
- 설정으로 이동
- 악마
- 많은
- 설정
"experimental": true
- Docker 다시 시작
Windows 컨테이너 모드에 있습니다. 따라서 가져 오려는 이미지 가 Windows 아키텍처 용으로 빌드 되었는지 확실하지 않은 경우 Linux 컨테이너로 전환해야합니다.
이를 수행하는 또 다른 방법 :
시스템 트레이에서 Docker 아이콘을 마우스 오른쪽 버튼으로 클릭 한 다음을 클릭합니다 Switch to Linux containers
.
(Windows 용 Docker, Community Edition, 버전 18.03.1)
이 오류에는 여러 가지 이유가있을 수 있습니다. 그러나이 오류의 가장 분명한 이유는 Linux 컨테이너 모드에서 Windows 컨테이너를 사용하거나 그 반대의 경우도 마찬가지입니다.
- 상황에 맞는 메뉴의 시스템 트레이에서 Docker 아이콘을 클릭하십시오.
- "Windows / Linux 컨테이너로 전환"을 클릭합니다.
- 스위치 대화 상자에서 옵션 클릭 스위치 버튼
- 시간이 조금 걸릴 수 있습니다
- Docker가 지금 실행 상태인지 확인
먼저 Linux 플랫폼을 가져와야합니다. 그런 다음 Windows에서 실행할 수 있습니다.
docker pull --platform linux php
docker run -it php
Windows 10 Fall Creators Update가 포함 된 Windows Desktop 18.02 용 Docker 블로그 게시물을 참조하십시오 .
제 경우에는 제가 사용했던 Windows OS 버전이 제가 당기려는 태그를 지원하지 않는 것입니다. 이전 태그를 사용하여이 작업을 수행 할 수있었습니다.
구체적으로 특별히:
docker pull mcr.microsoft.com/windows/nanoserver:1903
오류
docker pull mcr.microsoft.com/windows/nanoserver:1803-amd64
일했다
이것은 창문 컨테이너 때문 만은 아닙니다!
Today all Node.Js docker images are not pullable. Always check the image you are trying to pull before.
This looks like https://github.com/docker/for-win/issues/1100
If adding --experimental
does not work, consider re-installing docker for windows.
Consider the applications that you are pulling - are they Windows based? If not, you need to run a Linux container.
Without using the experimental mode, you can only use Docker in one style of container vs the other. If you activate the experimental mode as mentioned above, you can use Windows and Linux containers as required by the applications you are pulling in the compose file.
Key note: Experimental - still in development by Docker.
I was getting this error in my Azure DevOps pipeline.
Step 1/7 : FROM nginx:alpine
alpine: Pulling from library/nginx
no matching manifest for windows/amd64 10.0.14393 in the manifest list entries
##[error]C:\Program Files\Docker\docker.exe failed with return code: 1
##[section]Finishing: Build an image
The problem was I had selected the Hosted VS2017 instead of the Hosted Ubuntu. After changing the same as follows, the build was successful.
Hope it helps.
I had the same problem to run Windows IIS image using docker for Windows. Reading the Mohammad Trabelsi response above I realised that to solve my problem I needed to switch my containers (on docker) for Windows containers.
To do this:
- Right click Docker instance
- Select "Switch to Windows containers..."
docker run mcr.microsoft.com/windows/servercore:ltsc2016
try the above command. what you are pulling should be compatible with the underlying windows version you are in. above will work if you are in windows server 2016.
follow this thread for more info
https://github.com/docker/for-win/issues/3761
나에게는 C : \ ProgramData \ Docker \ config \ daemon.json에 대한 액세스가 거부 되었기 때문에 수정 한 후 이제 작동합니다. Linux 컨테이너로 전환하고 다시 전환 할 수 있습니다. 전환에 문제가 없으면 액세스 권한으로 작동합니다.
실행중인 Linux 컨테이너를 찾을 수 없기 때문에이 메시지가 표시되는 이유입니다. 따라서 실행하기 전에 Windows에서 Linux 컨테이너로 전환하십시오.
'Program Tip' 카테고리의 다른 글
폴더의 여러 파일 이름 변경, 접두사 추가 (Windows) (0) | 2020.11.19 |
---|---|
툴바 탐색 아이콘이 설정되지 않음 (0) | 2020.11.19 |
iPhone에서 TableView 구분 기호를 사용자 지정하는 방법 (0) | 2020.11.19 |
StreamReader를 처음으로 반환 (0) | 2020.11.19 |
Linux에서 현재 rpath를 검사하는 방법이 있습니까? (0) | 2020.11.19 |