如何在Dockerfile中启动另一个bash

我想在本教程后的一个容器(CentOS 6.9)中将GCC从4.4.7更新到4.7.2 如何在CentOS上升级GCC 。

在本教程的最后,作者使用scl enable devtoolset-1.1 bash来启动一个新的shell,在其中更新所有的环境。 我写了下面的Dockerfile:

 Run ... \ && yum install devtoolset-1.1 \ && scl enable devtoolset-1.1 bash 

但是,当我从Dockerfile生成的图像运行容器时,我发现GCC版本仍然是4.4.7,这表明我进入了旧的shell。

虽然我通过明确定义CC,CPP,CXXvariables成功更新容器中的GCC,但我仍然想知道如何在Dockerfile中使用“scl”命令更新GCC。 也就是说,如何在Dockerfile中input新的shell?

先谢谢你。 ^ _ ^

在Dockerfile的指令中,你有SHELL

https://docs.docker.com/engine/reference/builder/#shell

从这个文件

The SHELL instruction can also be used on Linux should an alternate shell be required such as zsh, csh, tcsh and others.