您仍然可以在Dockerfile中尝试以下操作:
RUN echo ' . /etc/profile ; ' >> /root/.profile
(假设当前用户是
root。如果不是,请替换
/root为完整的主路径)
话虽如此,那些/etc/profile.d/xx.sh应该运行。
参见
preclimate/docker-alpine-ruby示例:
COPY files /
用“
files/etc”
files/etc/profile.d/rubygems.sh运行就可以了。
在OP项目中
Dockerfile,有一个
COPY aliases.sh /etc/profile.d/
但是默认外壳 不是 登录外壳(sh -l),这意味着
profile文件(或
/etc/profile.d
__其中的
文件)
不是
源文件。
添加
sh -l将起作用:
docker@default:~$ docker run --rm --name ruby -it preclimate/alpine-ruby:b42 sh -l87a58e26b744:/# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/ruby/gems/2.0.0/bin



