no matching manifest for linux/arm64/v8 in the manifest list entries 해결

김민섭·2023년 3월 2일
0

docker

목록 보기
1/1

m1 (silicon) 버전 docker에 mysql 설치시 no matching manifest for linux/arm64/v8 in the manifest list entries 문제 발생

오류가 발생하는 상황

version: "3.8"
services:
  mysql:
    container_name: saju_nodejs_mysql
    platform: linux/x86_64
    image: mysql:5.7.27
    restart: always
    environment:
      - MYSQL_USER=root
      - MYSQL_PASSWORD=1234
      - MYSQL_ROOT_PASSWORD=1234
      - MYSQL_DATABASE=saju_db_dev
      - TZ=Asia/Seoul
    ports:
      - "3309:3306"
    volumes:
      - ./mysql/mysql_data:/var/lib/mysql
    command:
      [
        "mysqld",
        "--character-set-server=utf8mb4",
        "--collation-server=utf8mb4_unicode_ci",
      ]
  • 도커 설정을 위해 docekr-compose.yml 을 위와 같이 만든뒤
  • docker-compose up -d 명령어를 실행하게 되면
  • ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries 다음과 같은 에러를 만나게 됩니다.

에러를 읽어보면, linux/arm64/v8 에 해당하는 manifest가 없다고 합니다.

yml 파일이 뭔가요?

  • 컨테이너를 실행, 관리할 수 있는 설정 파일
  • 도커 컨테이너에 필요한 옵션, 의존성 설정파일을 이곳에 적어두면 컴포즈용 명령어를 통해 컨테이너들을 실행하거나 관리할 수 있습니다.

해결방법

  • platform을 명시해 줍니다.
version: "3.8"
services:
  mysql:
    container_name: saju_nodejs_mysql
    // 추가된 코드
    platform: linux/x86_64
    image: mysql:5.7.27
    restart: always
    environment:
      - MYSQL_USER=root
      - MYSQL_PASSWORD=1234
      - MYSQL_ROOT_PASSWORD=1234
      - MYSQL_DATABASE=saju_db_dev
      - TZ=Asia/Seoul
    ports:
      - "3309:3306"
    volumes:
      - ./mysql/mysql_data:/var/lib/mysql
    command:
      [
        "mysqld",
        "--character-set-server=utf8mb4",
        "--collation-server=utf8mb4_unicode_ci",
      ]
  • platform: linux/x86_64 을 추가해주어 해결

Reference

https://stackoverflow.com/questions/65456814/docker-apple-silicon-m1-preview-mysql-no-matching-manifest-for-linux-arm64-v8

profile
getting ready to run

0개의 댓글