no matching manifest for linux/arm64/v8 in the manifest list entries
"no matching manifest for linux/arm64/v8 in the manifest list entries"라는 오류 메시지는 Linux ARM64/v8 아키텍처에 대한 매니페스트가 매니페스트 목록에 없음을 나타냅니다. 이 오류는 도커 이미지를 가져오거나 실행하려는 경우 해당 아키텍처를 지원하지 않는 경우에 발생할 수 있습니다.
이 문제를 해결하기 위해 다음 옵션을 고려할 수 있습니다.
1. 플랫폼 확인: 현재 사용하는 플랫폼이 Linux ARM64/v8 아키텍처인지 확인해야 합니다. uname -m 명령을 실행하여 아키텍처를 확인할 수 있습니다. ARM64/v8 아키텍처인 경우 이 오류가 발생할 수 있습니다.
$ uname -m
arm64
2. 대체 이미지 찾기: ARM64/v8 아키텍처를 지원하는 다른 도커 이미지를 찾아보십시오. 도커 허브나 다른 컨테이너 레지스트리에서 ARM64/v8 아키텍처를 지원하는 이미지를 검색할 수 있습니다. 이미지에는 보통 :arm64v8 또는 :aarch64와 같은 태그가 있을 수 있습니다.
3. 직접 이미지 빌드: 도커 이미지를 직접 ARM64/v8 아키텍처에서 빌드할 수도 있습니다. 이미지를 빌드할 수 있는 Dockerfile이나 소스 코드를 사용하여 이미지를 생성해 보세요. 이렇게 하면 특정 아키텍처를 지원하는 이미지를 만들 수 있습니다.
4. 크로스(Cross-build) 컴파일: ARM64/v8 아키텍처를 지원하지 않는 플랫폼에서 이미지를 크로스 컴파일하여 사용할 수도 있습니다. 크로스 컴파일은 다른 플랫폼에서 ARM64/v8 아키텍처를 대상으로 컴파일하는 과정입니다. 이 경우에는 크로스 컴파일을 위한 도구와 설정이 필요할 수 있습니다.
도커 이미지의 문서나 지원 채널을 확인하여 ARM64/v8 아키텍처에 대한 지원이 있는지 확인하는 것이 좋습니다. 이렇게 하면 해당 이미지를 효과적으로 사용할 수 있습니다.
dockerhub(mysql)
MySQL is a widely used, open-source relational database management system (RDBMS).
docker 명령어로 실행하는 방법
- docker pull
docker pull mysql:5.7.42-debian
$ docker pull mysql:5.7.42-debian
5.7.42-debian: Pulling from library/mysql
no matching manifest for linux/arm64/v8 in the manifest list entries
- docker pull (--platform linux/amd64 옵션 추가)
docker pull --platform linux/amd64 mysql:5.7.42-debian
$ docker pull --platform linux/amd64 mysql:5.7.42-debian
5.7.42-debian: Pulling from library/mysql
25ff99d19581: Pull complete
da9763f512b1: Pull complete
d11d89fac8aa: Pull complete
2d681f978f70: Pull complete
d2adf752d434: Pull complete
dd330e0c6f85: Pull complete
67ea33965a1e: Pull complete
0a782f1cd863: Pull complete
29388ae78fd3: Pull complete
5122440438b8: Pull complete
41ecea750b12: Pull complete
Digest: sha256:bdba76687adae7a631d1ed27b9571ffe186ec93d57ad17037c9b75402e61a7e1
Status: Downloaded newer image for mysql:5.7.42-debian
docker.io/library/mysql:5.7.42-debian
- docker run
docker run -it --rm --name mysql mysql:5.7.42-debian sh
$ docker run -it --rm --name mysql mysql:5.7.42-debian bash
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
root@9c1797866135:/#
root@9c1797866135:/# uname -m
x86_64
The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
docker-compose 명령어로 실행하는 방법
- docker-compose.yaml 파일 생성
version: '3.9'
services:
mydb1:
image: mysql:5.7.42-debian
container_name: mydb1
restart: always
platform: linux/amd64
environment:
MYSQL_ROOT_PASSWORD: root
TZ: Asia/Seoul
volumes:
- ./mydb1/data:/var/lib/mysql
- ./mydb1/init:/docker-entrypoint-initdb.d
ports:
- 3306:3306
- docker-compose 실행
docker-compose up -d
$ docker-compose up -d
[+] Running 1/1
✔ Container mydb1 Started
- docker-compose 컨테이너 목록 확인
docker ps -a
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
958748529caf mysql:5.7.42-debian "docker-entrypoint.s…" 4 seconds ago Up 3 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp mydb1
- docker-compose 명령어를 사용하여 도커 컨테이너에 접속하기
docker-compose exec mydb1 bash
$ docker-compose exec mydb1 bash
root@958748529caf:/# uname -m
x86_64
'맥(솔라리스)' 카테고리의 다른 글
macOS에서 mDNSResponder를 재시작하고 DNS 캐시를 갱신 (0) | 2023.06.04 |
---|---|
Docker Buildx를 사용하여 다중 아키텍처 이미지를 빌드하는 방법 (0) | 2023.06.03 |
[mac] vscode 파이썬 가상환경 설정하기(python virtualenv) (0) | 2023.01.05 |
Mac Apple Silicon에서 VirtualBox를 설치하는 방법 (0) | 2022.11.23 |
[mac] vscode(Visual Studio Code)에서 Python 개발환경 설정 (0) | 2022.11.13 |