docker随笔:交叉编译工具链 docker镜像的制作

Posted Stoneshen1211

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker随笔:交叉编译工具链 docker镜像的制作相关的知识,希望对你有一定的参考价值。



如果我们的当前环境是win环境或者linux环境安装交叉编译链会破坏一些依赖,那么此时可以安装一个有交叉编译链的docker镜像,在真实的环境中编写代码,然后在docker容器中编译代码即可。

下面简单记录下镜像的制作。

1 工具链准备

将海思交叉编译工具链arm-hisiv300-linux.tar.bz2放到当前文件目录,并解压。

2 DockFile

内容如下:

FROM ubuntu:16.04
MAINTAINER Stoneshen
RUN apt-get update && apt install -y lib32z1-dev && rm -r /var/lib/apt/lists/* 
RUN mkdir /home/hisi-linux && mkdir /home/work
COPY arm-hisiv300-linux/arm-hisiv300-linux /home/hisi-linux/arm-hisiv300-linux
RUN echo "export PATH=\\"/home/hisi-linux/arm-hisiv300-linux/bin/:\\$PATH\\"" >> /root/.bashrc

上面的Dockerfile的大致意思是:
基准镜像为ubuntu:16.04
安装lib32z1-dev(64位环境兼容32位的工具链)
然后将交叉工具链释放到基础镜像的/home/hisi-linux/arm-hisiv300-linux
随后将工具链路径export到全局环境变量中

3 制作

docker build -t hisiv300_compilation_tool_chain .

制作成功之后,便可以使用docker images 查看制作成功的镜像。

4 运行

docker run -v /home/data:/home/work -it hisiv300_compilation_tool_chain

将主机中的目录挂载在容器中,这样就可以在主机中编写代码,在容器中编译代码。

5 镜像上传

可以使用以下命令将镜像上传到dockerhub

docker tag hisiv300_compilation_tool_chain stoneshen/arm-hisiv300-linux
docker push stoneshen/arm-hisiv300-linux

6 后记

上面制作的镜像没有安装,vi make等工具,如果要使用这些工具,可以参考下面的Dockfile

FROM ubuntu:16.04
MAINTAINER Stoneshen
RUN apt-get update && apt install -y lib32z1-dev gcc automake autoconf libtool make vim && rm -r /var/lib/apt/lists/* 
RUN mkdir /home/hisi-linux && mkdir /home/work
COPY arm-hisiv300-linux/arm-hisiv300-linux /home/hisi-linux/arm-hisiv300-linux
RUN echo "export PATH=\\"/home/hisi-linux/arm-hisiv300-linux/bin/:\\$PATH\\"" >> /root/.bashrc

以上是关于docker随笔:交叉编译工具链 docker镜像的制作的主要内容,如果未能解决你的问题,请参考以下文章

docker随笔:禅道 docker镜像的制作

docker随笔:禅道 docker镜像的制作

docker仓库harbor搭建随笔

我的docker随笔30:C++程序的自动化构建

我的docker随笔30:C++程序的自动化构建

docker容器的使用随笔