Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用Docker exec运行Django管理命令_Django_Docker - Fatal编程技术网

无法使用Docker exec运行Django管理命令

无法使用Docker exec运行Django管理命令,django,docker,Django,Docker,我有一个Django服务器,在一个名为locvolweb的Docker容器中运行良好 当我尝试直接从主机CLI运行Django管理命令时,它就是不起作用: >> 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 "e

我有一个Django服务器,在一个名为
locvolweb
的Docker容器中运行良好

当我尝试直接从主机CLI运行Django管理命令时,它就是不起作用:

>> 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
一些_user@ce1b1c2ac208:/app$python/app/src/manage.py
键入“manage.py help”以获取特定子命令的帮助。
可用子命令:
[授权]
更改密码
创建超级用户
[内容类型]
删除过时的内容类型
[django]
检查
编译消息
createcachetable
dbshell
扩散设置
转储数据
脸红
检查数据库
加载数据
制造信息
makemigration
迁移
发送测试邮件
壳
展示迁移
sqlflush
sqlmigrate
sqlsequencereset
挤压迁移
startapp
启动项目
测试
测试服务器
[会议]
清除
[静态文件]
收集静电
findstatic
运行服务器
一些_user@ce1b1c2ac208:/app$

我不知道为什么我不能直接运行
manage.py

问题在于运行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

取出
docker exec
命令中的引号。(这是不起作用的,因为同一个原因,运行<代码>“Python Maung.py.…”<代码>引用来自你的本地shell不起作用,它迫使系统把整个事情当作一个“字”来考虑。)david maze,你是一个明星!!!如果没有引用,它可以正常工作…:脸和手掌:天哪…:这是我真的很愚蠢。。。谢谢你的回答,我可以确认它的工作没有报价好。。。
>> 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$