您的位置:首页 > 运维架构 > Docker

Docker配置任意版本编译环境(GCC升级、降级、指定版本)

2019-03-13 09:49 225 查看
版权声明:——转载请留言询问—— https://blog.csdn.net/weixin_44344462/article/details/88525655

引(时间紧迫的朋友可以跳过该部分)

  • 你是不是正被需要指定GCC版本的项目弄的焦头烂额?
  • 你是不是正被GCC编译安装的下载速度所限制?
  • 你是不是正被编译安装时报出的各种错误扰乱了心智?
    现在有工具可以解救这种处境下的人类了——Docker。

说明

后面并没有用到

dockerfile
,因为从追求简易的角度出发,所以对于掌握
docker
的朋友来说,理解更加容易。

准备工作

  1. 首先需要安装Docker,配置一个国内镜像。下载参考Docker官网,安装是图形界面安装跟一般软件差不多,注册后配置一个国内镜像源,跟Anaconda配置镜像源一样。
  2. 准备好你的代码,原理是用Docker特定版本编译环境的容器,将代码文件夹共享到容器的一个目录,然后进行编译生成执行文件,有点借鸡下蛋的意思。

实践

例如我本次需要

GCC-6.3.0
的环境,在Docker安装完毕,启动后在终端键入以下命令,拉取一个指定编译环境的镜像。

docker pull gcc:6.3.0

下载后的

gcc:6.3.0
实际上是一个Linux环境,运行该镜像并创建一个路径后面用来共享本机的代码。

docker run -it gcc:6.3.0

镜像启动后创建路径,你也可以键入

gcc -v
然后发想版本就是想要的6.3.0,各个部件都运行正常
0 error everything all right.

mkdir /opt/code

创建路径后需要关闭当前容器,新打开一个终端窗口。

docker ps  # 用来查看当前运行了哪些容器,并获得其id
docker stop xxxxxxxxxx  # xxx...是将上一条指令查出的该容器的id

最后将本地的待编译文件共享给配置好的容器,进行编译。

这里需要本地代码文件夹的绝对地址,如

/usr/codeFile

注意地址顺序和冒号。

docker run -itv /usr/codeFile:/opt/code gcc:6.3.0

进入到容器后,你会惊喜的发现本机的代码文件被共享到了容器

/opt/code
文件夹中。

最后,是想验证代码能否在该环境下跑通,或者想“借鸡下蛋”就看你的意思啦,因为本次操作的过程中,容器在该文件夹生成的可执行文件是对本机可见的。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: