首页 > 解决方案 > yocto 作物容器的 PATH 变量不能被修改

问题描述

我对 yocto 的作物容器中的 PATH 变量有疑问。由于某些对我来说不明显的原因,这个变量总是在创建 pokyuser 时被覆盖。任何其他变量都可以使用标准 docker 技巧(如 ENV 或 --env)正常设置,或者使用 RUN echo "VAR=magic_value" >> /etc/environment 写入 /etc/environment。但是 PATH 变量无法设置。我试过 skel 目录。我什至尝试在 /etc/profile 中写入,但什么也没有。就像有某种完全忽略 /etc/environment 文件的黑魔法一样。运行 env 命令后,输出显示 PATH 变量中包含 /snap/bin。我试图grep它,但又没有。

我的问题是,如何在 yocto 的 pokyuser 作物容器中更改 PATH 变量?

重要提示:似乎 pokyuser 是在运行时生成的,所以我什至无法使用 RUN 写入 ~/.profile。

标签: dockercontainersyocto

解决方案


您可以根据作物之一创建自己的 Dockerfile,并将内容添加到 /etc/skel/ 这是用于创建 pokyuser 的默认骨架目录。

示例 Dockerfile:

FROM crops/poky:ubuntu-16.04
USER root
RUN echo 'export PATH=$PATH:/foo/bar' >> /etc/skel/.bashrc

推荐阅读