在开发需要用gcc-4.8 g++-4.8的开发包,不过新版本的ubuntu,gcc等版本已经是14+,在Ubuntu 18.04+官方源已经彻底移除,强行安装也可能污染宿主机。
于是考虑用docker安装,用Ubuntu 16.04 + gcc-4.8是稳定选择。
由于复用、或者放到 CI/CD,使用Dockerfile如下:
FROM ccr.ccs.tencentyun.com/library/ubuntu:16.04
RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \
&& sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \
&& apt update \
&& apt install -y gcc-4.8 g++-4.8 \
&& rm -rf /var/lib/apt/lists/*
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 \
&& update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100
CMD ["/bin/bash"]
如果你想让它像虚拟机一样一直存在:
docker run -dit --name gcc48 ubuntu-gcc48 tail -f /dev/null
如果需要映射目录到宿主机,使用如下:
docker run -dit \
--name gcc48 \
-v /home/devops/gcc48:/workspace \
ubuntu-gcc48 \
tail -f /dev/null
进入容器:
docker exec -it gcc48 /bin/bash