Очевидно, что devtoolset-7-gcc не существует в вашей текущей конфигурации репозитория. Попробуйте добавить репо или попробуйте yum -y install centos-release-scl
вместо yum -y install scl-utils
.
Нашел здесь: http://blog.stevedoria.net/20180214/how-to-install-gcc-7-on-centos-7
Веселись!
Редактировать:
После еще нескольких исследований кажется, что gcc 7 действительно установлен, но scl enable фактически открывает новый bash, который будет содержать ваш GCC 7. Если вам действительно нужен GCC 7 в качестве gcc по умолчанию, вы можете скомпилировать его из источник (но это займет много времени), или вы можете использовать команду SHELL из вашего dockerfile для переключения между оболочками. Вот мой файл докера:
FROM centos:centos7
RUN yum -y update
RUN yum -y install centos-release-scl
RUN yum -y install devtoolset-7-gcc*
SHELL [ "/usr/bin/scl", "enable", "devtoolset-7"]
RUN gcc --version
А на выходе RUN gcc --version
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Чередование между оболочками, кажется, является намеченным способом сделать это при использовании devtoolset, потому что это позволяет вам быстро переключаться между версиями, если это необходимо.
Я надеюсь, что это помогло