에러내용

Building worker failed to fetch metadata: fork/exec /usr/local/lib/docker/cli-plugins/docker-buildx: no such file or directory DEPRECATED: The legacy builder is deprecated and will be removed in a future release. Install the buildx component to build images with BuildKit: https://docs.docker.com/go/buildx/ Sending build context to Docker daemon 10.24kB Step 1/13 : FROM --platform=${BUILDPLATFORM} mcr.microsoft.com/dotnet/sdk:7.0 as build failed to parse platform : "" is an invalid component of "": platform specifier component must match "^[A-Za-z0-9_-]+$": invalid argument

 

배경 : 깃허브의 도커 이미지를 받아서, 빌드할때 Docker Buildx를 설치하라는 에러 발생.


원인 : 빌드하려는 도커 이미지에 Docker Buildx가 필요한 내용이 있었다.

해결과정

  1. sudo install Docker Buildx 명령이 먹히지 않았다.
  2. Buildx를 설치하기 위해서는 git에서 다운로드해야 했다.
  3. 우선 플러그인을 저장할 경로를 만들어준다.
    # 현재 사용자의 홈 디렉토리(~/) 내에 .docker/cli-plugins/ 디렉토리를 생성
    # -p   부모 디렉토리를 만들면서 중간에 필요한 디렉토리가 없으면 생성
    mkdir -p ~/.docker/cli-plugins/

  4. 깃에서 Buildx 다운로드
    # wget: 웹에서 파일을 다운, 다운로드한 파일을, 이름을 지정해(-O)  만든 경로에 저장wget https://github.com/docker/buildx/releases/download/v0.7.1/buildx-v0.7.1.linux-amd64 -O ~/.docker/cli-plugins/docker-buildx

    # chmod파일 권한을 변경, 모든 사용자(a+x)에게 실행 권한을 부여
    chmod a+x ~/.docker/cli-plugins/docker-buildx

  5. 이제 빌드가 실패한 이미지가 있다면 다시 실행해주면된다.

+ Recent posts