为了更好的安全性,我有一个使用非 root 用户运行的 docker 容器,但它似乎无法访问我与之共享的秘密:
Importing account from "/run/secrets/authority.priv.json" failed: Permission denied (os error 13)
我在我的 docker compose 中尝试了不同的解决方案: 1. 将 uid 和 gid 设置为 1000(如果用户在容器内,则为 uid/gid) 2. 将模式设置为 0444 甚至 0777
但是这些都不起作用,只有使用 root 才能让我使用这些秘密。
任何想法?
额外的问题:在 kubernetes 中会出现同样的问题吗?
码头工人文件:
FROM parity/parity:v2.2.1
LABEL maintainer="vincent@serpoul.com"
# SAD but It seems impossible to read the secrets otherwise
USER root
VOLUME ["/home/parity/.local/share/io.parity.ethereum"]
ADD ./configPoANode.toml /home/parity/configPoANode.toml
ADD ./PoA.json /home/parity/PoA.json
ADD ./entrypoint.sh /home/parity/entrypoint.sh
ENTRYPOINT ["/home/parity/entrypoint.sh"]
附录:存储库(在 dockerfile 中有用户 ROOT):