我打算在具有結構的django碼頭集裝箱中創建超級用戶。在沒有輸入密碼的情況下在碼頭集裝箱中創建django超級用戶
要在Django的超級用戶,我需要一個Django交互模式運行這個:
./manage.py createsuperuser
而且因爲我想讓它在織物腳本運行,所以我覺得this命令能夠避免輸入查詢密碼
echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', '[email protected]', 'pass')" | ./manage.py shell
然後,我「泊塢窗EXEC」把這個一起在我的Django的容器中運行它
docker exec container_django echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', '[email protected]', 'pass')" | ./manage.py shell
的問題出來了Linux管材,管件(|)都在其左側(包括泊塢窗Exec),將其右側(./ manage.py殼)的內容
而且這不僅是考慮將所有這些垃圾放入布料運行中,這意味着它們需要兩端引號。它會使整個事情非常醜陋。
fabric run:
run("docker exec container_django {command to create django super user}")
我仍然在努力就如何使至少在織物運行垃圾的工作,但我不知道該怎麼做。
我選擇這個解決方案將Hashicorp Vault添加到混合中,只是爲了讓祕密對攻擊者保持祕密。簡單地說,不是傳遞密碼(也可能是用戶名),而是向保險櫃查詢密鑰。 – Ikon