gpt4 book ai didi

LXC 环境变量

转载 作者:行者123 更新时间:2023-12-05 05:14:36 36 4
gpt4 key购买 nike

我是 LXC 容器的新手,正在使用 LXC v2.0。我想将设置传递给在我的容器内运行的进程(特别是它们的 Systemd 服务文件的命令行参数。

我正在考虑通过配置文件 lxc.environment = ABC=DEF 将环境变量传递给容器。 (我打算使用 SALT Stack 来操作这些变量)。我是否必须手动解析/proc/1/environ 才能访问这些变量,或者我是否缺少更好的方法?

最佳答案

documentation说:

If you want to pass environment variables into the container (that is, environment variables which will be available to init and all of its descendents), you can use lxc.environment parameters to do so.

我会假设,因为所有进程(包括 shell)都是 init 进程的后代,所以环境应该在每个 shell 中可用。不幸的是,这似乎不是真的。在 discussion on linuxcontainers.org ,有人说:

That’s not how this works unfortunately. Those environment variables are passed to anything you lxc exec and is passed to the container’s init system.

Unfortunately init systems usually don’t care much for those environment variables and never propagate them to their children, meaning that they’re effectively just present in lxc exec sessions or to scripts which directly look at PID 1’s environment.

所以是的,显然解析 /proc/1/environ 似乎是这里唯一的可能性。

关于LXC 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52297348/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com