如何让/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镜像吗? - Nguyen Sy Thanh Son/etc/.profile
的做法。我一直认为.profile
应该放在你的HOME
目录中,而profile
(没有点)则应该放在/etc
中。 - Jeff Kilbride