У меня проблема с копированием папки приложения в изображение.Эта проблема существует только для папок, файлы копируются без проблем.Кроме того, нет проблем с папками, когда я запускаю docker run
.Я использую WSL с набором инструментов Docker, и я подумал, что, возможно, монтирование папок каким-то образом повреждено, но, поскольку я могу копировать файлы, этого не может быть, верно?У меня есть репозиторий на другом диске, и я копирую файлы с rsync
в папку, которая находится под смонтированным диском.Я не уверен, что это актуально, но, может быть, я что-то упустил.Все команды выполняются из того же каталога, в котором находится Dockerfile.
Вот моя конфигурация:
Dockerfile
# Pull base image
FROM python:3.6-slim
# Set environment varibles
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# Set work directory
ARG PROJECT=my_project
ARG PROJECT_DIR=/srv/www/${PROJECT}
RUN mkdir -p $PROJECT_DIR
# Copy project
COPY timi $PROJECT_DIR/
COPY docker-entrypoint-local.sh /
RUN chmod u+x /docker-entrypoint-local.sh
RUN apt-get update && apt-get install -y build-essential python3-dev git && pip3 install -r $PROJECT_DIR/requirements.txt
WORKDIR $PROJECT_DIR
EXPOSE 8000
ENTRYPOINT ["/docker-entrypoint-local.sh"]
docker-compose-local.yml версия: '3,6 '
services:
db:
image: postgres:10.5-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
- POSTGRES_DB=dbname
- POSTGRES_USER=my_project_user
- POSTGRES_PASSWORD=really_strong
networks:
- database_network
webapp:
build: .
volumes:
- .:/srv/www
ports:
- 8080:8000
depends_on:
- db
networks:
- database_network
networks:
database_network:
driver: bridge
volumes:
postgres_data:
docker-entrypoint-local.sh
#!/bin/bash
python manage.py runserver 0.0.0.0:8000
tail -f /dev/null
exec "$@"
команды:
docker build . -t my_project
docker-compose -f docker-compose-local.yml up -d
или
docker run -p 8080:8000 my_project
<- у этого нет проблем с копированием папки. </p>
Я предполагаю, что у меня проблемы с монтированием, но я понятия не имею, что это может быть.