source

프런트 엔드 도커 파일로 해결하지 못했습니다.

manycodes 2023. 8. 19. 10:31
반응형

프런트 엔드 도커 파일로 해결하지 못했습니다.

저는 도커에 대해 꽤 생소하고 평범한 HTML로 도커 이미지를 구축하려고 하는데, 다음과 같은 오류 메시지가 있습니다.

프런트 엔드 도커 파일로 해결하지 못했습니다.v0: 도커 파일을 읽지 못했습니다. open /var/lib/docker/tmp/buildkit-mount602954594/Docker 파일: 해당 파일 또는 디렉토리 없음

내 폴더 디렉토리는 다음과 같습니다.

C:\Users\hailey\Desktop\GitTest
                               |- Dockerfile.txt
                               |- README.md
                               |- testHelloWorld.html

도커 파일 안에, 나는.

FROM ubuntu
WORKDIR C/Users/hailey/Desktop/GitTest
COPY testHelloWorld.html .
EXPOSE 8080
CMD ["html","testHelloWorld.html"]

나는 내 명령을 수행했습니다.docker build .디렉토리 C 내부:\Users\hailey\Desktop\GitTest를 수행한 후 다음을 얻었습니다.

[+] Building 0.1s (2/2) FINISHED
 => [internal] load build definition from Dockerfile
 => => transferring dockerfile: 2B
 => [internal] load .dockerignore
 => => transferring context: 2B
failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount602954594/Dockerfile: no such file or directory

제가 무엇을 잘못했나요?

도커 파일의 이름에 확장자가 없습니다.이건 그저건.DockerfileD 소문자 문자f.

이름을 . 를 들어, 도커 파일 이름을 지정할 수도 .docker build . -f Dockerfile.txt다른 이름을 붙이고 싶다면요

은 다을사도파파있수이제다습니공할을 사용하여 제공할 수 .-f.

들어 이 "Docker"인 Dockerfile.base를 부르다build다음과 같이 명령합니다.

docker build . -f Dockerfile.base -t helloworld

그런 다음 다음 명령을 사용하여 빌드 이미지를 시작할 수 있습니다.

docker run --rm -it helloworld

저는 서로 다른 답변에서 얻은 정보를 하나의 답변으로 요약하고, 이 질문에 제 자신의 경험을 추가하고 싶습니다.

  1. 합니다(실행 중).ls또는dir그곳에 각각 또는 에 따라 .)
  2. 파일에 최소 두 개의 두 개할 수 .dockerfile그리고.Dockerfile파일 이름에 다른 대문자가 있으면 대부분 실패합니다.또한 기본 파일 이름에는 파일 확장명이 없습니다(예를 들어 메모장에 파일을 만들려면 기본적으로 .txt 또는 다른 확장명일 수 있습니다).메모장의 파일 이름 없이 저장하는 방법을 보여주는 다른 대답이 있지만 Linux 및 Windows 명령 프롬프트에서 다음 명령을 각각 사용할 수도 있습니다.
    mv dockerfile.txt dockerfile
    ren dockerfile.txt dockerfile
  3. 이름 dockerfile/Dockerfile 옵션을 사용할 수 있습니다.-f(문서 링크), 다음과 같이 표시됩니다.

-f, --file string 도커 파일의 이름(기본값은 'PATH/도커 파일')

다음은 해당 명령을 사용하는 방법의 예입니다.

  docker build . -f Dockerfile.base -t helloworld

그리고 이 모든 것을 통합하기 위해 컨테이너가 빌드된 후 파일 이름을 다시 사용할 필요가 없으므로 다음과 같이 실행하면 됩니다.

docker run --rm -it helloworld

빌드 키트를 사용할 필요가 없는 경우:

빌드/도커 작곡가를 실행하기 전에 .envs를 설정해 보십시오.

export DOCKER_BUILDKIT=0
export COMPOSE_DOCKER_CLI_BUILD=0

당신에게 문제가 있다는 말을 들어서 유감입니다.파일 이름을 지정하시겠습니까? -> "도커 파일"? "도커 파일" 또는 "도커 파일"이 아니어야 합니다.

제 경우 문제는 파일 이름이 정확하지만 확장자가txt.

메모장++열고 다음을 붙여넣었습니다.FROM mcr.microsoft.com/dotnet/aspnet:3.1아래와 같이 메모장++에서 파일을 저장했습니다.

Enter image description here

파일이 저장되면 다음과 같습니다.

Enter image description here

를 사용하는 사용자를 위한docker-compose build또한 올바르게 설정했는지 확인합니다.build에 들어가는 길.docker-compose.yml:

version: '3.8'

services:
  web:
    build: ./services/web/ --> this folder should contain your Dockerfile, otherwise you will have the above error

저도 같은 문제가 있었는데, Docker 파일을 루트 프로젝트 폴더의 오른쪽 폴더에 배치해야 했습니다.

도커 파일의 이름을 변경합니다. 도커 파일과 동일하게 txt.도커 파일에 확장자가 없기 때문입니다.

저는 도커 파일이 존재하는 프로젝트의 루트 경로를 이동할 뿐입니다.

Enter image description here

1: 도커 파일의 이름이 확장자 없이 "도커 파일"인지 확인합니다.

2: Docker 파일이 보관된 위치에서 명령을 실행하고 있는지 확인합니다.

Docker 파일에 전체 파일 확장자를 지정하여 문제를 해결했습니다.

docker build -t testapi . -f [YOUR_FILE_EXTENSION]/Dockerfile

때하지 마십시오.를 들어 " 이것당신당을대 확 신 인 주 지 마 세 적 요 상 때 줄 파 를 의 자 일 장 세 ▁as 마 요 ▁the ▁when ▁such 주 ▁extension ▁extension 지 ▁the ▁one ▁you ▁your ▁donD:/projects/asp6.0/publish/Dockerfile

같은 오류가 발생했습니다.무엇이든 될 수 있다.내 것은 구체적인 것이 아니었어요...구성에 있는 파일 중 하나의 이름을 잘못 지정하고 참조했기 때문에 빌드를 실행할 때 해당 파일을 찾을 수 없습니다.

그것은 아무 상관이 없습니다.frontend dockerfile.v0(다른 파일 포함).모든 파일의 이름과 참조가 올바른지 확인합니다.

도커 파일의 이름을 확인합니다."도커 파일"이어야 합니다.

앞에서 언급한 바와 같이...나에게 문제는 도커 파일 이름이었습니다.저는 우연히 "도커 파일"을 가지고 있었습니다.

이름을 소문자 f로 도커 파일로 변경하고 빌드 명령을 다시 실행하면 문제가 해결되었습니다.

Docker 파일이 있는 폴더에 있는 것과 동일한 폴더에서 빌드 명령을 실행하면 문제가 해결됩니다.

도커 파일 이름을 수정하는 것 외에도 끝에 추가 점을 추가하는 경우에도 해당 오류가 발생할 수 있습니다.

Visual Studio Code 터미널에서 "docker build -t getting-started"를 실행하는 것과 같은 문제가 있었습니다.

그러나 CMD(Windows 10)에서 동일한 명령을 실행해도 문제 없이 작동했습니다.

저도 비슷한 문제가 있었습니다. "장치에 남은 공간이 없습니다."라는 오류가 있었습니다.

다음 명령을 실행했습니다.docker system prune그리고 그것이 저를 위해 문제를 해결했습니다.

먼저 올바른 디렉토리에 있고 도커 데스크톱이 실행 중인지 확인합니다.

"ls" 또는 "dir" 명령을 사용하여 목록이 표시되는지 확인합니다.

나의 경우, 나는 Mac의 Textedit을 사용하여 Docker 파일을 만들고 그것은 숨겨진 .rtf 확장자를 가지고 있었습니다.

확장을 제거한 후 작동했습니다.

이 오류로 인해 발생한 또 다른 문제는 명령을 실행하는 위치와 관련된 것입니다.일부 사용자는 올바른 디렉터리(도커 파일이 있는 디렉터리)에서 명령을 실행하고 도커 파일을 만들 때 적절한 명명 규칙을 포함하는 것이 유용할 수 있습니다.도커 파일.

Visual Studio 2019에서 생성된 Docker 파일을 빌드하는 동안 비슷한 문제가 발생했습니다.

프런트 엔드 도커 파일로 해결하지 못했습니다.v0: 도커 파일을 읽지 못했습니다. open /var/lib/docker/tmp/buildkit-mount037306220/docker 파일: 해당 파일 또는 디렉토리 없음

기본적으로 도커 파일은 WSL(Windows Subsystem for Linux) 내에서 참조됩니다.도구가 로컬 파일 시스템을 마운트하고 WSL의 컨텍스트에서 Docker 파일에 액세스하고 있었습니다. Linux에서 파일 이름은 대소문자를 구분하므로 Docker 명령에서 오류를 보고했습니다.

>> 도커 파일: 해당 파일 또는 디렉토리가 없습니다.

도커 파일의 이름을 "도커 파일"로 변경하여 문제를 해결했습니다.

리액트 앱으로 작업할 때도 같은 문제가 있었습니다.저는 도커 파일을 src에서 프로젝트 루트 폴더로 이동하고 도커 데스크톱을 다시 시작해야 했습니다. 작동했습니다.

나에게 그것은 도커 파일 위치의 잘못된 디렉터리 사양이었습니다.저는 처음에 도커-compose.yml 파일에 (도커 파일이 실제로 있었던 하위 디렉터리 대신) 상위 디렉터리를 지정했습니다.

당신은 이것을 시도할 수 있습니다.

docker build -t testdemo:1.0 .\Dockerfile.txt

창에서 작동합니다.

언급URL : https://stackoverflow.com/questions/64985913/failed-to-solve-with-frontend-dockerfile

반응형