Невозможно запустить команду управления Django, используя Docker exec - PullRequest
0 голосов
/ 13 февраля 2020

У меня сервер Django работает нормально в контейнере Docker с именем loc-vol-web.

Когда я пытаюсь запустить Django команды управления прямо из CLI хоста, он просто не не работает:

>> docker exec -it loc-vol-web "python /app/src/manage.py migrate"

OCI runtime exec failed: exec failed: container_linux.go:346: starting container process caused "exec: \"python /app/src/manage.py migrate\": stat python /app/src/manage.py migrate: no such file or directory": unknown

Тем не менее, все перечисленное работает нормально:

>> docker exec -it loc-vol-web "python"

Python 3.7.6 (default, Jan  3 2020, 23:35:31)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>> docker exec -it loc-vol-web "/bin/bash"

some_user@ce1b1c2ac208:/app$ python /app/src/manage.py

Type 'manage.py help <subcommand>' for help on a specific subcommand.

Available subcommands:

[auth]
    changepassword
    createsuperuser

[contenttypes]
    remove_stale_contenttypes

[django]
    check
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    makemigrations
    migrate
    sendtestemail
    shell
    showmigrations
    sqlflush
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp
    startproject
    test
    testserver

[sessions]
    clearsessions

[staticfiles]
    collectstatic
    findstatic
    runserver

some_user@ce1b1c2ac208:/app$

Я не уверен, почему я не могу просто запустить manage.py.

1 Ответ

1 голос
/ 13 февраля 2020

Проблема в том, как вы запускаете docker:
docker exec -it loc-vol-web "python /app/src/manage.py migrate"
Она принимает все в двойных кавычках в качестве команды.

Она должна выполняться без двойных кавычек:
docker exec -it loc-vol-web python /app/src/manage.py migrate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...