【问题标题】:Running manage.py shell with -c flag within docker-compose run在 docker-compose run 中运行带有 -c 标志的 manage.py shell
【发布时间】:2020-01-15 01:57:20
【问题描述】:

我想在我的 docker 容器中运行一个运行 Django 代码的脚本。

我最初的计划是运行以下内容:

    docker-compose run web python manage.py shell -c "import django; print(django.__version__)"

但是,这不起作用:它提示manage.py shell: error: unrecognized arguments: django; print(django.__version__)(如果您密切注意,它会忽略import)。我想这与 -c 是 manage.py 和 bash 共享的标志有关,或者至少这是我从 the docker-compose docsDjango's 收集到的。

如果我运行docker-compose run web bash,它会提示shell,我可以在其中执行python manage.py shell -c "..."

我怎样才能一步完成?

非常感谢任何帮助。

【问题讨论】:

  • 试过我的设置 - 运行没有任何问题,并给了我项目的版本
  • shell -c "p​​ython manage.py -c 'import django; print(django.__version__)'"
  • 恐怕这些都没有用。如果有帮助,我已经用更多信息更新了问题

标签: django python-3.x docker docker-compose


【解决方案1】:

你可以试试:

docker exec -it <container_name> sh -c echo "import django;
print(django._ _version_ _)" | python manage.py shell

【讨论】:

    猜你喜欢
    • 2021-05-30
    • 2019-04-21
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    • 2022-08-21
    相关资源
    最近更新 更多