You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

django-cookiecutter项目docker-compose run终端无法输入问题求助

解决Django Cookiecutter生产环境Docker容器中无法输入的问题

我之前也碰到过完全一样的状况!这其实是Docker容器交互模式的问题——默认情况下用docker-compose run启动容器时,没有给它分配可交互的终端环境,所以就算出现了提示符,你的输入也没法传递到容器里。

直接给你两个实用的解决办法:

临时方案:命令行追加交互参数

给docker-compose run命令加上-it(这是--interactive和--tty的简写组合)参数,就能让容器和本地终端建立交互连接:

  • 创建超级用户的修正命令:
docker-compose -f production.yml run --rm -it django python manage.py createsuperuser
  • 进入shell的修正命令:
docker-compose -f production.yml run --rm -it django python manage.py shell

永久方案:修改Compose配置文件

如果你不想每次敲命令都手动加参数,可以直接在production.yml的django服务配置里加上两行,让服务默认开启交互终端:

services:
  django:
    # 保留你原有的其他配置(比如build、environment、volumes等)
    stdin_open: true  # 保持容器标准输入通道打开
    tty: true         # 为容器分配伪终端

之后再用docker-compose run执行需要交互的命令,就不用额外加-it参数了。

内容的提问来源于stack exchange,提问作者squirtgun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:46:08