4

我想plenv在 docker 映像中使用 perl 5.16。apt-get只得到 5.14。 plenv将安装 perl $HOME/.plenv/versions/5.16.2/,我需要在其中添加一些行$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 命令之前编写每一行。docker 没有 exec $HOME/.profile,它是一个无登录外壳吗?

虽然我可以在 every 之前编写这样的命令,但我RUN怎样才能做到这一点CMD

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

4

1 回答 1

2

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

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

于 2013-08-27T19:33:10.283 回答