Я совершенно новичок, когда дело доходит до Докера. И я пытаюсь понять это с помощью фиктивного проекта.
У меня есть проект django, и мой Dockerfile
находится в корневой папке проекта Django. И мой docker-compose.yml
файл находится в верхней корневой папке, которая содержит папку проекта django и другие файлы конфигурации.
мой docker-compose.yml
version: '3'
services:
db:
image: postgres
container_name: dummy_project_postgres
volumes:
- ./data/db:/var/lib/postgresql/data
event_planner:
build: ./dummy_project
container_name: dummy_project
volumes:
- .:/web
ports:
- "8000:8000"
depends_on:
- db
links:
- db:postgres
и мой Dockerfile
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /web
WORKDIR /web
ADD requirements.txt /web/
RUN pip install -r requirements.txt
ADD . /web/
Я пытаюсь запустить следующие команды
# stop and remove the existing containers
docker-compose stop
docker-compose rm -f
# up and run the container
docker-compose build
docker-compose up -d
docker-compose exec dummy_project bash
Когда я делаю docker-compose up -d
, я вижу эту ошибку.
docker-compose up -d
dummy_project_postgres is up-to-date
Starting dummy_project ... done
warning: could not open directory 'data/db/': Permission denied
Я знаю, что этот вопрос задавался ранее, но я не совсем понял, какое решение мне нужно, и я застрял на несколько часов.
РЕДАКТИРОВАТЬ: У меня есть все разрешения для всех папок в верхней папке
EDIT2: sudo docker-compose up -d
также приводит к той же ошибке.