首页 > 解决方案 > 在 docker-entrypoint 中读取 Docker 机密

问题描述

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

标签: dockerdockerfiledocker-swarm

解决方案


推荐阅读