python автоматически получает псевдоним в Dockerfile? - PullRequest
0 голосов
/ 06 августа 2020

Итак, у нашей команды есть сборка Dockerfile (сборка операционной системы centos 8) со следующей строкой:

dnf -y --setopt=install_weak_deps=False --best install python37

  1. Автоматически ли "python37" имеет псевдоним "python "на только что созданном образе? Или, если я использую sh в системе, созданной с помощью Dockerfile, мне нужно сделать что-то вроде «python37 --version», чтобы правильно ссылаться на python исполняемый файл?

Нет ссылки на «псевдоним» в любом месте Dockerfile.

1 Ответ

0 голосов
/ 06 августа 2020

Без псевдонима, но связано через символические c ссылки. Самый простой способ - проверить (у меня установлено python3 .6).

внутри контейнера:

ls -l $(which python3)

# lrwxrwxrwx 1 root root 25 Aug  6 19:29 /usr/bin/python3 -> /etc/alternatives/python3

Вывод about - это еще один символ c ссылка, следуя ему :

ls -l /etc/alternatives/python3

# lrwxrwxrwx 1 root root 18 Aug  6 19:29 /etc/alternatives/python3 -> /usr/bin/python3.6

Итак, ответ заключается в том, что при запуске python3 выполняется /usr/bin/python3.6.

Вам нужно запустить python как python вместо python3, вы можете добавить эту строку, которая свяжет их.

ln -s /usr/bin/python3 /usr/bin/python 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...