Получение "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, так что у вас должен получиться полный самодостаточный образ.