我想在一个带有织物的 django docker 容器中创建 super 用户。
要在 django 中创建 super 用户,我需要在 django 交互模式下运行:
./manage.py createsuperuser
因为我想让它在织物脚本中运行,所以我找到了 this命令可以避免输入密码
echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'admin@example.com', 'pass')" | ./manage.py shell
然后我把它和 "docker exec" 放在一起在我的 django 容器中运行它
docker exec container_django echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'admin@example.com', 'pass')" | ./manage.py shell
问题出在linux管道上,管道(|)左边的所有内容(包括docker exec)到右边(./manage.py shell)
这不仅是困难的部分,考虑到将所有这些垃圾放入织物运行中,这意味着它们需要在两端引用。它会让整个事情变得非常紧迫。
fabric run:
run("docker exec container_django {command to create django super user}")
我仍在苦苦思索如何至少让垃圾在 Fabric 运行中发挥作用,但我不知道该怎么做。
最佳答案
获取容器 ID 并运行命令。
docker exec -it container_id python manage.py createsuperuser
关于python - 在 docker 容器中创建 django super 用户而不输入密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30027203/