无法使用Docker exec运行Django管理命令
我有一个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
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$