【发布时间】:2016-10-27 17:00:24
【问题描述】:
如何让/etc/profile 在交互式启动 Alpine Docker 容器时自动运行?我在aliases.sh 文件中添加了一些别名并将其放在/etc/profile.d 中,但是当我使用docker run -it [my_container] sh 启动容器时,我的别名不活动。我每次都必须从命令行手动输入. /etc/profile。
是否需要一些其他配置才能让/etc/profile 在登录时运行?我在使用~/.profile 文件时也遇到了问题。任何见解都值得赞赏!
编辑:
根据 VonC 的回答,我提取并运行了他的示例 ruby 容器。这是我得到的:
$ docker run --rm --name ruby -it codeclimate/alpine-ruby:b42
/ # more /etc/profile.d/rubygems.sh
export PATH=$PATH:/usr/lib/ruby/gems/2.0.0/bin
/ # env
no_proxy=*.local, 169.254/16
HOSTNAME=6c7e93ebc5a1
SHLVL=1
HOME=/root
TERM=xterm
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
/ # exit
虽然/etc/profile.d/rubygems.sh 文件存在,但在我登录时它并没有运行,我的PATH 环境变量也没有更新。我是否使用了错误的docker run 命令?还缺少什么吗?有没有人得到~/.profile 或/etc/profile.d/ 文件在Docker 上使用Alpine?谢谢!
【问题讨论】:
-
你试过用
ADD .profile /etc/.profile构建Alpine Images吗? -
不,我实际上从未听说过尝试使用
/etc/.profile。我一直认为.profile属于您的HOME目录,而profile(无点)属于/etc。