bestsource

오류: "frontend docker file.v0으로 해결하지 못했습니다."

bestsource 2023. 8. 7. 22:47
반응형

오류: "frontend docker file.v0으로 해결하지 못했습니다."

는 제 개츠비 애플리케이션을 위해 도커 이미지를 구축하려고 했습니다.명령을 실행할 때마다docker build . -t gatsbyapp그것은 나에게 오류를 줍니다.

failed to solve with frontend dockerfile.v0: failed to build LLB:
failed to compute cache key: "/.env" not found: not found

한편, 내 도커 파일은 아래와 같습니다.

FROM node:13

WORKDIR /app

COPY package.json .

RUN yarn global add gatsby-cli

RUN yarn install

COPY gatsby-config.js .

COPY .env .

EXPOSE 8000

CMD ["gatsby","develop","-H","0.0.0.0"]

Mac에서 최신 Docker Desktop 버전으로 업그레이드한 후 이 문제가 발생했습니다. 문제에 대한 의견으로 해결되었습니다.

솔루션:빌드킷을 사용하지 마십시오. 저에게 도움이 됩니다.

export DOCKER_BUILDKIT=0
export COMPOSE_DOCKER_CLI_BUILD=0

저도 같은 문제가 있었고, 제가 해야 할 일은 도커 구성 파일 이름을 대문자로 쓰는 것이었습니다.

dockerfile> 작동하지 않았습니다.

Dockerfile> 일했습니다.

이 문제를 보고 있다면 실제 문제가 아닙니다.실제 문제는 오류 로그 어딘가에 내포되어 있습니다.실제 문제를 보려면 다음과 같이 빌드 명령을 실행해야 합니다.

DOCKER_BUILDKIT=0  docker build .

에 하십시오.DOCKER_BUILDKIT=0그러면 빌드 키트가 중첩된 오류를 숨기지 않습니다.여기서 올바른 솔루션을 검색할 수 있습니다.

이렇게 하면 빌드가 명령줄에서 다르게 보일 수도 있지만 걱정할 필요는 없습니다.오류를 찾아보세요.

Windows용 도커를 사용하는 경우 설정에서 도커 엔진에서 빌드 키트를 사용하지 않도록 설정해야 합니다.그것은 나에게 효과가 있고 나의 오류를 해결했습니다.

buildkit 옵션을 false로 설정합니다.

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": false
  }
}

Docker for Windows buildkit option

아마도 OP가 가지고 있던 문제는 아닐 것이지만, 도커 컴포지를 새로 설치한 직후에 Windows Subsystem for Linux(WSL)(Debian WSL2)에서 실행되는 컨테이너를 구축하려고 시도하는 동안 이 문제가 발생했으며 (Debian) 터미널을 닫고 다시 열기만 하면 문제가 해결되었습니다.

Docker Desktop을 사용하는 경우 Docker를 다시 시작하는 것이 도움이 되었습니다.다시 시작 문제 해결

저도 같은 문제가 있어요.

도커 파일 이름:

  • 도커 파일 - 오류
  • 도커 파일 - 오류
  • 도커 파일 - 작업!

대문자로 표시된 문자는 하나만 필요합니다.

Mac용 Docker Desktop 또는 Windows를 사용하는 경우 'Docker Engine' JSON 구성에서도 이 데스크톱을 사용하지 않도록 설정해야 할 수 있습니다.

Docker Desktop → SettingsDocker Engine → "false"를 {buildkit: true}에서 "false"로 변경합니다.

정확히 어디서 읽었는지는 기억나지 않지만, WSL2를 사용하고 있고 오류가 발생하면 WSL2 홈 폴더에서 Docker 구성 파일을 삭제하고 이미지를 다시 작성해 보십시오.

파일 이름을 이미 확인하고 모든 이름이 올바르게 지정되었는지 다시 확인한 경우입니다(Dockerfile, .dockerignore 등).

WSL2 Ubuntu:

rm ~/.docker/config.json

제 경우에는 폴더 위에 복사하려고 했습니다.wp-content제가 만들고 있던 도커 이미지 안에 있는 제 현재 디렉토리에서.이와 같은 경우:

FROM wordpress:latest

# Copy wp-content
COPY ./wp-content/ ./var/www/html/wp-content/

하지만, 나는 내가 가지고 있다는 것을 알아차렸습니다..dockerignore하라는 파일wp-content.

가 제했을 때거를 했을 때.wp-content/.dockerignore그것은 잘 작동했습니다.

제 경우, 컨텍스트 옵션에서 "." 뒤에 추가 공간이 있습니다.

docker build -t myapp .[EXTRA_SPACE_HERE]

macOS v11(BigSur) 가상화 프레임워크 사용 안 함:

Enter image description here

다음 항목을 확인합니다..dockerignore파일과 일치하지 않습니다.

때때로 와 함께 사용되는 패턴은 와일드카드를 추가하고 특정 예상 파일을 컨텍스트에서 제외하는 것입니다.!filename통사론EG:

*
!Cargo.toml
!Cargo.lock
!src
!setup.py
!README.md
!project
!requirements
__pycache__

에 나에파사경우에서 ,Dockerfile와일드카드와 일치하며 컨텍스트에 없습니다.새 파일에 예외를 추가하거나 와일드카드를 제거하여 이 문제를 해결합니다.

내 경우에는

프런트 엔드 도커 파일로 해결하지 못했습니다.v0: LLB 정의를 생성하지 못했습니다. 현재 컨텍스트에 빌드 단계가 없습니다.

FROM 이전에 ENV를 설정했기 때문에 발생했습니다. 일부 Docker 파일 지침에서는 허용되지 않을 수 있습니다.FROM 직후 ENV를 이동하면 오류가 사라집니다.

VPN 연결로 인해 문제가 발생했습니다.

Docker Desktop PROX에서 수동 프록시를 설정하기만 하면 되었습니다.IES 섹션:

Enter image description here

이 간단한 솔루션을 사용하여 확장자가 없는 이 도커 파일과 같은 도커 파일의 이름을 지정하십시오.

저의 문제는 VPN을 사용하는 것이었습니다.

오타가 났어요.

FROM apline:3.7FROM alpine:3.7.

그것은 나를 위해 해결되었습니다.

MacBook Air(M1)를 사용하다가 Linux/amd64를 지원하는 이미지를 사용하고 시스템 아키텍처가 arm64였기 때문에 문제가 있었습니다.

따라서 장치에 따라 호환되는 이미지를 실행해야 합니다.

저의 경우, 문서의 사용 사례가 제대로 표현되지 않았기 때문입니다.거의 모든 예제에서 사용할 수 있습니다..그리고.Dockerfile(자본 D), 그러나 대부분 사용자 지정 방법을 명시적으로 설명하지 않습니다.

docker image build --tag any_image_tag --file any_file_name path_to_your_context_folder

제 생각에는 이것이 더 낫고, 여기 오는 사람들에게 도움이 되기를 바랍니다.any_file_name빌드 지침이 포함된 모든 파일 이름입니다.그 안에 있는 "contexterfile"은 필요하지 않지만, 컨텍스트 폴더와 다를 경우 전체 경로를 식별하고 제공하는 데 도움이 됩니다.path_to_your_context_folder웹 응용 프로그램과 같이 기본적으로 작업이 있는 곳입니다.

를 들어,에서 테스트한 입니다.COPY . /app합니다..:

docker image build --tag nested_image --file C:\WorkSpace\myapp\dockerfiles\any_file_name C:\WorkSpace\myapp\contextfiles\

PS: 이 주제는 같은 문제에 대한 흥미로운 답을 가지고 있습니다. 하지만 많은 이국적인 원인들이 있습니다.제 것은 눈에 보이지 않는 숨겨진 문제에 대한 부차적인 언급일 뿐입니다.

설정해야 했습니다."credsStore": ""내 안에서~/.docker/config.json ...이전에 credentials.exe로 설정되었습니다.

WSL2에서 ddev 시작이 docker-credential-desktop.exe에서 실패함, "자격 증명 나열 오류" #2342

Disk 공간이 부족할 때 이 문제가 발생했는데, Docker 파일을 재생하고 수정하면서 이미지 계층 캐시가 많이 쌓였기 때문인 것으로 추정됩니다.

저는 제가 잘못된 디렉토리에서 빌드하려고 한다는 것을 알게 되었습니다.

저의 경우, 저는 2개의 이미지를 가지고 있었고, 같은 이미지에서 복사하고 있었습니다.나의 구체적인 오류는 다음과 같습니다.failed to solve: failed to solve with frontend dockerfile.v0: failed to create LLB definition: circular dependency detected on stage: kubexit

FROM karlkfi/kubexit:latest AS kubexit
COPY --from=kubexit /bin/kubexit /bin/

FROM maven:3.8-jdk-11-slim AS build

그래서 그것은 순환적인 참조였습니다.해결 방법:

FROM karlkfi/kubexit:latest AS kubexit

FROM maven:3.8-jdk-11-slim AS build
COPY --from=kubexit /bin/kubexit /bin/

Docker 파일이 Docker 파일과 이름이 다른 경로에 있는 경우 실행할 수 있습니다.

docker build -t build_tag_name -f './path/to/dockerfile/exampledockerfile' .

저의 경우, 두 가지 문제가 있었습니다.

  1. 컨텍스트 옵션을 제공하는 명령어의 마지막에 .을 놓쳤고,
  2. 도커 파일의 파일 이름에 ".txt" 확장자가 있습니다.

이 두 번의 조정 후, 모든 것이 예상대로 작동했습니다.

동일한 플랫폼을 사용하고 있는지 확인하십시오. 예를 들어 첫 번째 이미지(my-custom-service)를 구축하는 경우

FROM --platform=linux/amd64 node:14

그런 다음 당신은 추가해야 합니다.--platform다른 사람에게Dockerfile 번째 첫번째기이사미용는하를지본의의 기본 s:

FROM --platform=linux/amd64 my-custom-service

동일한 오류가 발생했지만 Docker 파일을 하위 폴더에서 응용프로그램의 루트 폴더로 이동했습니다.오류 메시지를 수정했습니다.

저는 다음과 같은 오류가 있었습니다.

프런트 엔드 도커 파일로 해결하지 못했습니다.v0: LLB 정의를 생성하지 못했습니다. 요청을 수행하지 못했습니다.헤드 https://registry-1.docker.io/v2/library/postgres/manifests/13-alpine : net/message: TLS 핸드셰이크 시간 초과

Windows 10과 Docker Desktop에서 WSL2를 사용하고 있는데 Docker Desktop을 버전 3.5로 업데이트한 후 이 문제가 발생했습니다.

추가 배포와 WSL 통합을 활성화하여 문제를 해결했습니다.

활성화 방법:

Windows에서 Docker Desktop을 열고 설정리소스WSL 통합추가 배포와의 통합을 활성화하고 설치한 Ubuntu 응용 프로그램에 대해 활성화합니다.

Windows용 Docker를 사용하는 경우 Docker 엔진이 빌드하려는 이미지(Windows/Linux)와 일치하는 모드로 설정되어 있는지 확인합니다.

언급URL : https://stackoverflow.com/questions/64221861/an-error-failed-to-solve-with-frontend-dockerfile-v0

반응형