我有一个使用 SCL python27 构建 oel6 linux 的 dockerfile。
对于 docker build,使用SHELL
命令可以正确执行命令(例如,如果我插入,RUN python --version
我会得到 2.7)。
创建一个适用于与容器进行任何交互式会话的/root/.bashrc
设置( 2.7)source scl_source enable python27
python --version
docker run oel6 pyhton --version
但是,无论我尝试什么,任何以非交互方式执行的命令(即)始终是 2.6。
对我尝试过的方法持保留态度,因为我可能尝试错了,但我尝试将入口点设置为命令,我尝试执行包含命令作为入口点的脚本,我尝试将其放入 /etc/profile.d/。
任何帮助均感激不尽。
答案1
我最终找到了这个网站:https://austindewey.com/2019/03/26/enabling-software-collections-binaries-on-a-docker-image/
我的入口点脚本错误。有效的方法是:
#!/bin/bash
source scl_source enable python27
exec "$@"