我正在使用systemd构建基于ubuntu图像的图像。我需要将TigerVNC作为服务启动,这取决于我在Dockerfile中定义的一些环境变量,例如密码。
FROM ubuntu-systemd
ENV VNC_PW="some-password"
ENTRYPOINT ["/lib/systemd/systemd"] 该服务的单位文件中的一行为:
ExecStart=/usr/sbin/runuser -l root -c "/some/script.sh" 由于systemd具有自己的环境,因此我无权访问Dockerfile中定义的环境变量。我期望使用登录外壳程序('-l'标志)以root身份运行脚本将使我能够访问这些变量,但事实并非如此。我知道我需要的变量在/ proc / 1 / environ中,但是我不知道如何加载它们,例如,在.profile文件中为root 添加一些内容。
谢谢。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。