docker - 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。
解决方案
您可以根据作物之一创建自己的 Dockerfile,并将内容添加到 /etc/skel/ 这是用于创建 pokyuser 的默认骨架目录。
示例 Dockerfile:
FROM crops/poky:ubuntu-16.04
USER root
RUN echo 'export PATH=$PATH:/foo/bar' >> /etc/skel/.bashrc
推荐阅读
- c# - 从表中仅选择复合键的最佳方法
- flutter - 一次展开一个扩展图块
- shell - 需要 df -h 的 uniq 输出并删除重复值
- liquibase - 在 Liquibase 中支持 Azure Active Directory 身份验证
- batch-file - 如何将我从文件中获取的输入值存储到 for 循环中的变量中?
- android - 没有崩溃,它将进入死状态
- ansible - 为 VMware Network Insight 部署 .ova 文件时出错
- java - 在 Spring 中使用 producer = MediaType.TEXT_PLAIN_VALUE 时违反 CSP
- c# - 我陷入了无限的while循环,不明白为什么
- c - 解决头文件中的“错误:预期标识符”?