내가 여기에있는 코드를 사용하여, KVM 스위치와 컨테이너를 실행하려고했다 : https://github.com/jessfraz/dockerfiles/tree/master/kvm
나는 그것으로 cd’d 새로운 디렉토리를 생성하고 dockerfile을 생성 start.sh 파일. 빌드 명령을 내렸을 때 다음과 같은 오류 메시지가 출력되었습니다.
Docker 데몬에 빌드 컨텍스트 보내기 3.584kB 데몬에서 오류 응답 : 현재 컨텍스트에 빌드 단계가 없습니다.
나는 이것이 무엇을 의미하는지 전혀 모른다. 그리고 나는 대답을 구글 할 수 없었다. 어떤 도움이라도 대단히 감사하겠습니다.
답변
dockerfile에 다음이 있습니까? FROM repo/image
첫 번째 줄로? 빌드중인 도커 이미지를 지정하는 것을 잊었을 때이 오류가 발생했습니다.
“소스 이미지”를 빌드하는 경우에도 FROM scratch
dockerfile의 첫 번째 줄로 지정해야합니다 .
답변
이것은 일반적으로 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
명령어는 새 빌드 단계를 초기화하고 후속 명령어를 위해 기본 이미지 를 설정합니다 . 따라서 validDockerfile
는FROM
명령어로 시작해야합니다 .
답변
문제가 해결되었습니다. 코드를 편집하기 위해 dockerfile에 갔을 때 실수로 첫 번째 줄의 주석 처리를 제거했음을 알았습니다. 어리석은 실수, 알아요. 도움을 주셔서 감사합니다.
답변
나는 같은 문제가 있었다! 나 한테 무슨 도움이하는 것이 었습니다 이 FROM
파일의 첫 번째 명령으로 명령을 :
나쁨 :
MAINTAINER your name "your@email.com"
FROM dockerimagename
좋음 :
FROM dockerimagename
MAINTAINER your name "your@email.com"