创建跨平台编译镜像

简介

对于C++和python混合工程,由于需要支持多个操作系统,需要在centos7的devtoolset7编译工具中执行。所以如果是非centos7的系统。建议通过容器进行构建。下面就介绍这类容器制作。

容器Dockerfile

Dockerfile是基于基准的centos7镜像系统按照devtoolset7工具编写

FROM adoptopenjdk/centos7_build_image
USER root
WORKDIR /tmp
COPY ./python_install.sh ./
RUN yum install -y centos-release-scl-rh
RUN yum install -y devtoolset-7
RUN yum install -y libffi-devel
RUN yum install -y patch
RUN scl enable devtoolset-7 bash
RUN cd /tmp && \
    bash -x ./python_install.sh
RUN rm -rf /tmp/*
WORKDIR /root/

构建镜像

  1. 执行如下命令,构建镜像.
docker build -t centos7-devtoolset-7 ./

创建容器

docker run -v /home:/home  -d -it --privileged  centos7-devtoolset-7:v1.1 bash -c "while true;do echo hello world; sleep 1;done" --net=host

运行容器

进入容器。执行scl 使能devtoolset-7工具

root@ubuntu:/home/lcm/tool/docker# docker ps
CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS               NAMES
6e19fd7c863b        centos7-devtoolset-7   "bash -c 'while true…"   5 minutes ago       Up 5 minutes                            bold_chebyshev
root@ubuntu:/home/lcm/tool/docker# docker exec -it --user root  6e19fd7c863b  bash
[root@6e19fd7c863b /]# scl enable devtoolset-7 bash
[root@6e19fd7c863b /]# which gcc
/opt/rh/devtoolset-7/root/usr/bin/gcc

说明:
本程序编译平台支持aarch64、x86_64 2个平台编译

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值