Получение "Error processing tar file(exit status 1): open /myenv/include/python3.6m/Python-ast.h: no such file or directory" при сборке docker-compose build

Я довольно новичок в docker и django. К сожалению, при выполнении приведенной ниже команды на моей машине linux, к которой я подключен с помощью моей физической машины windows с помощью putty:

docker-compose build

Я получаю ошибку:

Error processing tar file(exit status 1): open /myenv/include/python3.6m/Python-ast.h: no such file or directory

'myenv' - это среда, которую я создал внутри своей папки.

Я запускаю контейнер на порту 9000. В приложении еще ничего нет, только простой проект, поэтому я ожидаю увидеть экран "поздравления". Я не знаю, где я ошибаюсь. Моя конечная цель - запустить docker url в браузере windows и увидеть экран контейнера docker.

Это мой файл docker-compose.yml:

version: '3'

services:
     web:
        build: .
        command: python manage.py runserver 0.0.0.0:9000
        ports:
            - 202.179.92.106:8000:9000

IP: 202.179.92.106 - это мой публичный IP. Я сделал вышеуказанную привязку, чтобы получить доступ к контейнеру docker с моей машины windows. Прошу предоставить дополнительные данные для привязки портов, если они верны/неверны.

Ниже приведен мой Dockerfile:

FROM python:3.6.9

RUN mkdir djangotest

WORKDIR djangotest

ADD . /djangotest

RUN pip install -r requirements.txt

Пожалуйста, помогите мне, друзья!

Если у вас есть виртуальная среда в вашем обычном дереве разработки, вы не можете скопировать ее в образ Docker. Вы можете исключить ее из последовательности сборки, упомянув в .dockerignore файле :

# .dockerignore
myenv

В Dockerfile строка RUN pip install установит зависимости вашего приложения в образ Docker, так что у вас должен получиться полный самодостаточный образ.

Вернуться на верх