Docker에서 arm32v7 아키텍쳐용 mariadb 설치하기

 

워드프레스를 설치하기위해 집에 남는 싱글보드 컴퓨터인 오렌지파이에 리눅스를 올리고 도커를 설치했습니다. 그리고 도커 컴포즈를 이용해 mariadb와 wordpress 이미지를 설치하려고 했으나 mariadb 설치에서 막혀버렸습니다. 

 

docker mariadb 설치 오류

no matching manifest for linux/arm/v7 in the manifest list entries

 

오류 내용은 armv7 아키텍쳐용 이미지가 없어서 설치를 할 수 없다는 내용이였습니다.

 

사용하고 있는 오렌지파이 SoC가 armv7 아키텍쳐 기반이라서 설치가 불가능했습니다. 비슷한 라즈베리파이도 3버전까지는 32bit armv7 SoC를 사용하기 때문에 마찬가지로 설치가 불가능합니다. 

 

https://hub.docker.com/_/mariadb

 

mariadb - Official Image | Docker Hub

Docker Official Images are a curated set of Docker open source and drop-in solution repositories. Why Official Images? These images have clear documentation, promote best practices, and are designed for the most common use cases.

hub.docker.com

도커 허브의 mariadb 화면

 

maria 지원 아키텍쳐

 

docker hub에 접속해서 mariadb를 찾아보니 빌드된 이미지에서 armv7(arm32v7) 아키텍쳐를 지원하지를 않네요.

지원하는 아키텍쳐는 amd64, arm64v8, ppc64le, s390x 만 지원합니다.

 

docker armv7용 mariadb

 

그래서 찾다보니 armv7을 지원하는 mariadb를 찾았습니다.

2개가 있는데 하나는 linuxserver/mariadb 이고 다른하는 yobasytesms/alpine-mariadb 입니다. 

 

linuxserver/mariadb

linuxserver/mariadb

https://hub.docker.com/r/linuxserver/mariadb

 

https://hub.docker.com/r/linuxserver/mariadb

 

hub.docker.com

 

 

linuxserver/mariadb에서 armv7용 이미지를 찾을 수 있습니다. 최신버전에는 지원을 하지않지만 구버전에서는 armv7을 지원합니다. 

arm32v7 태그

태그에 검색해보면 arm32v7-latest 태그가 달린 이미지가 있는데 이건 설치가 안됩니다. 태그가 arm32v7-latest인데 실제 지원아키텍쳐는 amd64용 입니다. 이럴거면 왜 태그를 붙여놨는지 이해가 안되네요.

 

설치하려면 arm32v7-10.6.13로 설치해야 합니다. 

 

yobasystems/alpine-mariadb

yobasystems/alpine-mariadb

https://hub.docker.com/r/yobasystems/alpine-mariadb

 

https://hub.docker.com/r/yobasystems/alpine-mariadb

 

hub.docker.com

 

두번째는 yobasystems/alpine-mariadb 입니다. mariadb 버전은 현재 11.4.5까지 지원합니다. 

 

docker compose 설정

docker-compose.yml

docker-compose.yml 파일에서 db이미지를 변경해주었습니다. linuxserver/mariadb:arm32v7-10.6.13 이나 yobasytems/alpine-mariadb 중에 선택하면 됩니다. 

 

저같은 경우 mariadb가 더 최신버전인 yobasytems/alpine-mariadb로 변경했습니다. 

services:
  db:
    # We use a mariadb image which supports both amd64 & arm64 architecture
    #image: mariadb:10.6.4-focal
    #image: linuxserver/mariadb:arm32v7-10.6.13
    #image: linuxserver/mariadb:arm32v7-latest
    image: yobasystems/alpine-mariadb
# If you really want to use MySQL, uncomment the following line
    #image: mysql:8.0.27
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=somewordpress
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=wordpress
    expose:
      - 3306
      - 33060
  wordpress:
    image: wordpress:latest
    volumes:
      - wp_data:/var/www/html
    ports:
      - 80:80
    restart: always
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=wordpress
      - WORDPRESS_DB_NAME=wordpress
volumes:
  db_data:
  wp_data:

 

실행

도커 컴포즈를 실행하니 정상적으로 실행이 되었습니다. 

 

워드프레스 접속

워드프레스 주소에 접속하니 정상적으로 워드프레스 초기화면이 나오네요.

 

데이터베이스 오류

참고로 mariadb나 mysql에 문제가 생기면 위 사진처럼 Error establishing a database connection 오류가 뜹니다. 

 

아무튼 도커로 무사히 armv7용 mariadb를 설치하니 정상적으로 작동이 되네요.

Designed by JB FACTORY