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镜像的制作的主要内容,如果未能解决你的问题,请参考以下文章