栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

创建跨平台编译镜像

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

创建跨平台编译镜像

文章目录
    • 简介
    • 容器Dockerfile
    • 构建镜像
    • 创建容器
    • 运行容器

简介

对于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_642个平台编译

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001052.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号