我最近遇到了一个问题,即update-alternatives
设置的默认编译器没有被继承。
在基本图像中,我做了类似这样的事情:
FROM ubuntu:16.04
RUN apt update
RUN apt install -y gcc-4.9 g++-4.9 cmake make gfortran-4.9 make git wget
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 10
RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 10
RUN update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-4.9 10
然后在我使用编译器的后续图像(与FROM base-image
一起使用)中,我得到一个不同的默认版本(在本例中为5.4)。
这预计会发生吗?
我有一个解决方法,我只是在每个Dockerfile的顶部重新执行update-alternatives
步骤,但我不确定这是最好的方法。