perl - 如何在 Dockerfile 中运行 pleenv/rbenv?

标签 perl docker

我想用plenv在 docker 镜像中有 perl 5.16。 apt-get只得到 5.14。plenv将在 $HOME/.plenv/versions/5.16.2/ 中安装 perl ,我需要在 $HOME/.profile 中添加一些行:

export PATH="$HOME/.plenv/bin:$PATH"
eval "$(plenv init -)"

然后运行 ​​plenv shell 5.16.2切换到新版本。

但是在Dockerfile中,我需要写source $HOME/.profile && plenv shell 5.16.2在我运行一些 perl 命令之前,everyline。 docker 没有执行 $HOME/.profile ,是免登录shell吗?

虽然我可以在每个 RUN 之前写这样的命令, 我如何才能在 CMD 中执行此操作线?

docker 可以通过一些设置解决这个问题吗?

最佳答案

您可以使用 ENTRYPOINT 命令在每次执行之前添加一些内容,或者您​​可以简单地将 .profile 移动到 .bashrc 中。

确实,docker 是一个免登录 shell,它不会运行 upstart,只需执行请求的进程。

关于perl - 如何在 Dockerfile 中运行 pleenv/rbenv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18463184/

相关文章:

linux - 我怎样才能循环使用grep?

linux - 如何在csv中将列的所有数据放在一行中

docker - 自动编辑dockerized容器中的文件

amazon-ec2 - Docker隐藏调用容器的IP

docker - 为什么 docker run 不支持同时使用 --rm 和 -d ?

perl - 在 Perl 中生成 getter 和 setter 而不是硬编码它们有缺点吗?

perl - 获得用存储单元表示的值的perl方法

perl -\x 在 print 中做什么

amazon-web-services - 适用于 Wordpress 的 AWS ECS 服务

elasticsearch - 如何使用Docker为Cassandra和Elasticsearch设置JanusGraph?