programing

도커 빌드에서 "컨텍스트를 준비할 수 없습니다. 컨텍스트는 디렉토리여야 합니다. /Users/tempUser/git/docker/Dockerfile"

lastmoon 2023. 8. 20. 12:28
반응형

도커 빌드에서 "컨텍스트를 준비할 수 없습니다. 컨텍스트는 디렉토리여야 합니다. /Users/tempUser/git/docker/Dockerfile"

Ubuntu 이미지를 빌드해야 하는 Docker 파일이 있습니다.하지만 내가 달릴 때마다

docker build -t ubuntu-test:latest ./Dockerfile

콘솔에 다음 오류가 표시됩니다.

컨텍스트를 준비할 수 없음: 컨텍스트는 디렉토리여야 합니다. /Users/tempUser/git/docker/Docker 파일

저는 맥 OS X에 있습니다.하려고 했습니다.sudo뿐만 아니라.아무 것도 안 됩니다.

대신 디렉터리를 가리켜야 합니다.도커 파일을 지정해서는 안 됩니다.

docker build -t ubuntu-test:latest .효과가 있습니다.

docker build -t ubuntu-test:latest ./Dockerfile작동하지 않습니다.

도커 빌드를 실행할 수도 있습니다.-f선택

docker build -t ubuntu-test:latest -f Dockerfile.custom .

상황 파악

docker build지휘권

도커 빌드 명령의 기본 구문은 다음과 같습니다.

docker build -t imagename:imagetag context_dir

문맥

컨텍스트는 디렉토리이며 도커 빌드 프로세스가 표시할 내용을 결정합니다.도커 파일의 관점에서 볼 때 모든 파일context_dir/mydir/myfile당신의 파일 시스템에서./mydir/myfileDocker 파일에 저장되므로 빌드 프로세스 중에 저장할 수 있습니다.

도커 파일

도커 파일이 호출된 경우Dockerfile그리고 문맥 속에 살고, 그것은 암묵적으로 명명 규칙에 의해 발견될 것입니다.이는 일반적으로 모든 도커 컨테이너에서 도커 파일을 즉시 찾을 수 있다는 것을 의미하기 때문에 좋습니다.

다른 이름을 사용해야 하는 경우 "/tmp/mydockerfile"을 사용할 수 있습니다.-f다음과 같이:

docker build -t imagename:imagetag -f /tmp/mydockerfile context_dir

그러나 도커 파일이 같은 폴더에 없거나 적어도 찾기가 더 어려워집니다.

지정하는 방법Dockerfile빌드 시 다음을 사용할 수 있습니다.

docker build -t ubuntu-test:latest - < /path/to/your/Dockerfile

하지만 그것은 실패할 것입니다.ADD또는COPY상대 경로에 따라 달라지는 명령입니다.다음을 지정하는 방법은 여러 가지가 있습니다.context위해서docker build자세한 내용은 도커 빌드 문서를 참조할 수 있습니다.

저도 같은 문제에 직면해 있습니다.사용 중docker version:17.09.0-ce.

다음 단계를 따릅니다.

  1. 도커 파일 생성 및 도커 이미지 생성 명령 추가
  2. Dock 파일을 만든 디렉토리로 이동합니다.
  3. 명령에 따라 실행$ sudo docker build -t ubuntu-test:latest .

생성된 문제와 이미지를 성공적으로 해결했습니다.

참고: 빌드 명령은 사용 중인 빌드 옵션뿐만 아니라 도커 버전에 따라 다릅니다.:)

도커 빌드가 실행될 때마다 도커는 이미지 이름이 무엇인지 알고 싶어하기 때문에 -t :. 이제 도커 파일이 있고 실행되는 디렉터리에 있는지 확인합니다.

docker build -t <image_name>:<version> .docker build -t my_apache:latest .Docker 파일과 동일한 디렉토리에 있다고 가정합니다. 그렇지 않으면 pass -f 플래그와 Docker 파일이 있습니다.

docker build -t my_apache:latest -f ~/Users/documents/myapache/Dockerfile

오류가 발생한 이유 중 하나는 파일 이름이 Docker 파일인지 확인하는 것이었습니다. 그래서 저는 그것이 누군가에게 도움이 되기를 바랍니다.

언급URL : https://stackoverflow.com/questions/43296019/docker-build-gives-unable-to-prepare-context-context-must-be-a-directory-use

반응형