Home > Blockchain >  Why does docker build constantly fail?
Why does docker build constantly fail?

Time:01-30

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!

CodePudding user response:

Docker uses the file called Dockerfile by the default when you run docker 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:

docker build -f your.custom.dockerfile.name .

it will use your.custom.dockerfile.name as the Dockerfile to build.

CodePudding user response:

From the output:

% cat Dockerfile
WORKDIR /coderectory 1ECODE 1

COPY . /code/% 

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).

If you can't fix this in your text editor, then run the following from the cli:

cat >Dockerfile <<EOF
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/
EOF
  •  Tags:  
  • Related