У меня есть dockerfile build oel6 linux, который использует SCL python27.
Для сборка докера с использованием команды SHELL
работает для правильного выполнения команд (то есть, если я вставляю RUN python --version
, я получаю 2.7).
Создание /root/.bashrc
, который устанавливает source scl_source enable python27
отлично подходит для любых интерактивных сеансов с контейнером ( python --version
2.7)
Однако любой команды, выполняемые неинтерактивно (например, docker run oel6 pyhton --version
) всегда имеют значение 2.6, независимо от того, что я пробую.
Возьмите то, что я пробовал, с долей скептицизма, поскольку я, возможно, пробовал это неправильно, но я попытался установить точку входа в качестве команды, я попытался выполнить скрипт, содержащий команды в качестве точки входа, я попытался поместить его в /etc/profile.d/.
Любая помощь приветствуется.
В конце концов, я нашел этот сайт: https://austindewey.com/2019/03/26/enabling-software-collections-binaries-on-a-docker-image/
Я ошибся сценарием точки входа. Что работает:
#!/bin/bash
source scl_source enable python27
exec "$@"