我无法通过docker-entrypoint
脚本读取Docker机密。我在docker service create
命令中添加了所有秘密,并且每次服务崩溃告诉我/run/secrets/<secret_name>
都不存在。
有人可以告诉我为什么?以及如何读取我的秘密?
我的docker_entrypoint:
#!/bin/bash
set -e
cp /run/secrets/configuration.py /opt/netbox/netbox/netbox/configuration.py
chmod +x /opt/netbox/netbox/netbox/configuration.py
DJANGO_USER="$(< /run/secrets/django_user)"
DJANGO_MAIL="$(< /run/secrets/django_mail)"
DJANGO_PASS="$(< /run/secrets/django_pass)"
cd /opt/netbox/netbox/
python3.6 manage.py migrate
echo "from django.contrib.auth import get_user_model; User = get_user_model(); User.objects.create_superuser('$DJANGO_USER', '$DJANGO_MAIL', '$DJANGO_PASS')" | python3.6 manage.py shell
python3.6 manage.py collectstatic --noinput
unset DJANGO_USER
unset DJANGO_MAIL
unset DJANGO_PASS
exec "$@"
错误:
/opt/netbox/entrypoint.sh: line 5: /run/secrets/configuration.py: No such file or directory