У меня есть проект в docker, в котором я изо всех сил пытался сгенерировать некоторые файлы из dockerfile o docker -compose файлов.
У меня есть докеризованный Django проект со следующей структурой .
assets/
app/
db/
.gitignore (ignoring all files of the folder)
db.sqlite3
docker-compose.yml
Dockerfile
Для целей поста я просто написал общую структуру, чтобы дать представление о том, каков проект и что я хочу сделать.
Что я пытался сделать должен был смонтировать файл базы данных как том (тип: bind), но не работал. То, что я сделал, было рассматривать папку db как папку тома. Пока все работает нормально.
Я хочу создать файл db.sqlite3, если он не существует, запустить миграцию и запустить команду python manage.py collectstati c --noinput .
Я попытался создать файл точки входа:
#/bin/sh
python manage.py collectstatic --noinput
db=/code/db/db.sqlite3
if [ ! -f "$db" ]; then
touch "$db"
fi
python manage.py migrate
Я попытался вызвать этот файл с помощью оператора ENTRYPOINT и CMD в Dockerfile, но ни один из них не работает. Я также попытался запустить команду touch из Dockerfile, и результат был таким же.