Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 如何在Dockerfile中运行plenv/rbenv?_Perl_Docker - Fatal编程技术网

Perl 如何在Dockerfile中运行plenv/rbenv?

Perl 如何在Dockerfile中运行plenv/rbenv?,perl,docker,Perl,Docker,我想使用plenv在docker映像中使用perl 5.16apt 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中,在运行一些perl命令之前,我需要编写source$HOM

我想使用
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中,在运行一些perl命令之前,我需要编写
source$HOME/.profile&&plenv shell 5.16.2
everyline。docker没有执行
$HOME/.profile
,这是一个没有登录的shell吗

虽然我可以在每次运行
之前编写这样的命令,但如何在
CMD
行中执行此操作


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

您可以在每次执行之前使用ENTRYPOINT命令来预结束某些内容,或者只需在.bashrc中移动.profile即可

事实上,docker是一个没有登录的shell,它不会运行upstart,只执行请求的进程