【问题标题】:Setting $PATH in docker image?在 docker 映像中设置 $PATH?
【发布时间】:2017-09-21 04:36:15
【问题描述】:

我正在为我的项目创建一个基础映像。在这个基础镜像中,我将下载一些 .tar.gzs 并解压它们。

我想将这些解压后的目录添加到路径中,所以在子图像中,我可以直接调用下载的可执行文件,而无需指定完整路径。

我尝试在基本映像中运行export PATH...,但这似乎不起作用(至少当我进入它时,我没有看到更新的路径,我认为是因为导出不会转移过来进入新的 bash 会话)。

还有其他方法吗?我应该编辑 .bashrc 吗?

【问题讨论】:

    标签: bash docker


    【解决方案1】:

    如果您尝试设置一些环境变量,您可以使用-e 选项来设置环境变量。例如假设你可以做

    docker run -e PASSWORD=Cookies -it <image name> bash

    运行时你可以检查$PASSWORD是否存在echo $PASSWORD

    【讨论】:

    • 我想在原始图像的 Dockerfile 中设置路径,这样我就可以只运行子级,他们将继承父级的路径,我不必每次都自己指定它
    【解决方案2】:

    目前您设置 $PATH 的方式不会导致修改在会话之间保持不变。请参阅startup files 上的 Bash 手册,了解您可以编辑哪些文件来永久设置环境,

    【讨论】:

    • 有什么办法让它持续存在?
    • 在您的 Dockerfile 中,尝试省略为可执行文件指定的命令中的方括号,如下所示:stackoverflow.com/questions/27158840/…
    • 谢谢,这是一种解决方法,但这可能会出现问题,例如,如果我的程序崩溃,它可能会退出到 bash,并且 docker 不会知道程序已经崩溃
    猜你喜欢
    • 1970-01-01
    • 2014-01-20
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    相关资源
    最近更新 更多