Dockerfile
FROM python:3.10.2-slim-bullseye # Set environment variables ENV PIP_DISABLE_PIP_VERSION_CHECK 1 ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # Set work directory WORKDIR /code # Install dependencies COPY /home/michael/PycharmProjects/django_project/requirements.txt . RUN pip install -r requirements.txt # Copy project COPY /home/michael/PycharmProjects/django_project/ . docker-compose.yml
version: "3.9" services: pcask: build: . ports: - "8000:8000" command: python manage.py runserver 0.0.0.0:8000 volumes: - .:/code db: image: postgres:15 volumes: - postgres_data:/var/lib/postgresql/data/ - postgres_dumpdata:/var/lib/dumpdata/ environment: - "POSTGRES_HOST_AUTH_METHOD=trust" volumes: postgres_data: postgres_dumpdata: networks: routing: name: routing external: true Problem
michael@michael:~/PycharmProjects/django_project/docker_files/pcask$ sudo docker compose up --build [+] Building 1.5s (9/9) FINISHED => [pcask internal] load build definition from Dockerfile 0.1s => => transferring dockerfile: 423B 0.0s => [pcask internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [pcask internal] load metadata for 1.3s => [pcask internal] load build context 0.0s => => transferring context: 2B 0.0s => [pcask 1/5] FROM 0.0s => CACHED [pcask 2/5] WORKDIR /code 0.0s => ERROR [pcask 3/5] COPY /home/michael/PycharmProjects/django_project/r 0.0s => CACHED [pcask 4/5] RUN pip install -r requirements.txt 0.0s => ERROR [pcask 5/5] COPY /home/michael/PycharmProjects/django_project/ 0.0s ------ > [pcask 3/5] COPY /home/michael/PycharmProjects/django_project/requirements.txt .: ------ ------ > [pcask 5/5] COPY /home/michael/PycharmProjects/django_project/ .: ------ failed to solve: failed to compute cache key: failed to calculate checksum of ref cbba007b-59ed-412e-8cd4-90c94ea98a1e::lq17qgdoi8v4wutiencqcws4a: "/home/michael/PycharmProjects/django_project": not found But I have used an absolute path in order to avoid any misinterpretation. And double-checked the path:
What can I try next?
41 Answer
All COPY command must refer to files present in the build context, that is the directory where you Dockerfile is located.
Indeed you should copy all needed files in the Dockefile directory.
