I’m trying to use Docker for the first time for my Django project using the book "Django For Professionals", but I am keep on getting build errors when I type "Docker build ." for a few days. I have looked at other stack overflow posts(An error, "failed to solve with frontend dockerfile.v0") but it still does not work. Here is the error code that I get.
$> docker build .
[+] Building 0.1s (2/2) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 419B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
failed to solve with frontend dockerfile.v0: failed to create LLB definition: file with no instructions
$> export DOCKER_BUILDKIT=0
export COMPOSE_DOCKER_CLI_BUILD=0
$> docker build .
Sending build context to Docker daemon 179.2kB
Error response from daemon: failed to parse Dockerfile: file with no instructions
I have my Dockerfile within my Django project and it is as follows:
FROM python:3.8
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
WORKDIR /code
COPY Pipfile Pipfile.lock /code/
RUN pip install pipenv && pipenv install --system
COPY . /code/
I tried cat Dockerfile and here is the output:
yoonjaeseo@Yoons-MacBook-Pro hello % cat Dockerfile
WORKDIR /coderectory 1ECODE 1
COPY . /code/%
Please let me know if any additional information is needed. Thank you!
4
Answers
Docker uses the file called
Dockerfile
by the default when you rundocker build .
.In order to use your Dockerfile under a different name you have to specify it as a parameter to the
docker build
command like:it will use
your.custom.dockerfile.name
as the Dockerfile to build.From the output:
Your Dockerfile appears to be corrupt, or perhaps saved in the wrong text format. It’s likely missing linefeeds (judged by the prompt appearing at the end of the line) which docker needs to parse the file. Make sure you have saved it in utf-8 or ascii text with Linux linefeeds (lf, not cr-lf).
As an example, I’m able to trigger this error with a comment only Dockerfile, and comments end on a linefeed:
If you can’t fix this in your text editor, then run the following from the cli:
You are using multiple docker files at same hierarchy in folder as it looks and have different names. file name should be Dockerfile as this is a standard filename, alternatively different docker file name can be given in command line.
When you execute docker build, it should run inside folder1. If your requirement is something else, please update the question with more details.
try this, It worked for me