[docker] 데몬의 오류 응답 : 현재 컨텍스트에 빌드 단계가 없습니다.

내가 여기에있는 코드를 사용하여, KVM 스위치와 컨테이너를 실행하려고했다 : https://github.com/jessfraz/dockerfiles/tree/master/kvm
나는 그것으로 cd’d 새로운 디렉토리를 생성하고 dockerfile을 생성 start.sh 파일. 빌드 명령을 내렸을 때 다음과 같은 오류 메시지가 출력되었습니다.

Docker 데몬에 빌드 컨텍스트 보내기 3.584kB 데몬에서 오류 응답 : 현재 컨텍스트에 빌드 단계가 없습니다.

나는 이것이 무엇을 의미하는지 전혀 모른다. 그리고 나는 대답을 구글 할 수 없었다. 어떤 도움이라도 대단히 감사하겠습니다.



답변

dockerfile에 다음이 있습니까? FROM repo/image

첫 번째 줄로? 빌드중인 도커 이미지를 지정하는 것을 잊었을 때이 오류가 발생했습니다.

“소스 이미지”를 빌드하는 경우에도 FROM scratchdockerfile의 첫 번째 줄로 지정해야합니다 .


답변

이것은 일반적으로 FROM 명령 전에 작성된 텍스트 때문에 발생합니다. dockerfile에서 주석을 제거하고 다시 빌드하십시오.

참고로 https://github.com/moby/buildkit/issues/164


답변

이 메시지는 선언 ENV하기 전에 환경 변수 ( )를 선언 할 때 나타납니다 FROM.

예를 들면 :

# Define variables.
ARG PORT
ENV SERVER_PORT=$PORT

# Install minimal Python 3.
FROM python:3.7-alpine

# Install Python requirements.
COPY requirements.txt /
RUN pip install -r /requirements.txt

# Copy app source code.
COPY src/ /app
...

이 문제를 해결하려면 모든 환경 변수가 뒤에 설정되도록 선언을 바꾸십시오 FROM.

# Install minimal Python 3.
FROM python:3.7-alpine

# Define variables.
ARG PORT
ENV SERVER_PORT=${PORT}

# Install Python requirements.
COPY requirements.txt /
RUN pip install -r /requirements.txt

# Copy app source code.
COPY src/ /app
...


답변

docs.docker.com문서에 따르면 Dockerfile의 주석이 아닌 첫 번째 줄은 해당 FROM줄 이어야합니다 . 문서를 인용하려면 :

FROM명령어는 새 빌드 단계를 초기화하고 후속 명령어를 위해 기본 이미지 를 설정합니다 . 따라서 valid DockerfileFROM명령어로 시작해야합니다 .


답변

문제가 해결되었습니다. 코드를 편집하기 위해 dockerfile에 갔을 때 실수로 첫 번째 줄의 주석 처리를 제거했음을 알았습니다. 어리석은 실수, 알아요. 도움을 주셔서 감사합니다.


답변

나는 같은 문제가 있었다! 나 한테 무슨 도움이하는 것이 었습니다 FROM파일의 첫 번째 명령으로 명령을 :

나쁨 :

MAINTAINER your name "your@email.com"
FROM dockerimagename

좋음 :

FROM dockerimagename
MAINTAINER your name "your@email.com"


답변