作嵌入式方向常常会遇到的一个问题,就是编译环境安装,若是换电脑,再从新安装环境是一个比较费时的事情,这个时候能够本身制做一个Docker镜像,而后把编译环境在Docker镜像里面配置好,之后同步环境就很是方便了,接下来咱们就一块儿来看一下如何制做一个Docker镜像。html
1. 制做前准备linux
登陆Docker Hub,https://cloud.docker.com/,申请一个帐号;git
申请好后,而后建立一个本身的Repository,注意Repository的命名为小写。docker
接下来咱们就一块儿来制做一个Docker镜像。ubuntu
2.制做一个docker镜像vim
1)首先咱们pull一个docker官方提供的Ubuntu镜像:工具
docker pull ubuntu:16.04 ui
2)查看镜像是否已经下载:spa
docker images
3d
3)运行镜像:
docker run -it --rm ubuntu:16.04
这个时候就会进入到Docker container(容器)里面,而后执行make,gcc发现没有相应的命令。
咱们经过exit退出Docker container(容器),而后制做一个带编译工具的镜像。
4)接下来咱们经过Dockerfile来定制咱们本身的镜像:
建立Dockerfile文件,在文件里面添加安装命令以下:
vim Dockerfile
# ubuntu 16.04 with compile env FROM ubuntu:16.04 MAINTAINER jackzengcn<jackzeng@banana-pi.com> RUN apt-get update && apt-get upgrade && apt-get install vim -y RUN apt-get install -y net-tools && apt-get install -y iputils-ping RUN apt-get install -y gcc-arm-linux-gnueabi RUN apt-get install -y gcc-arm-linux-gnueabihf RUN apt-get install -y gcc-aarch64-linux-gnu RUN apt-get install -y device-tree-compiler RUN apt-get install -y git && apt-get install -y make && apt-get install -y gcc RUN apt-get install -y bc && apt-get install -y cpio
在这里,我将会安装一些编译工具到即将要制做的Docker镜像中。
FROM 表示以刚刚下载的Docker镜像 Ubuntu:16.04为基础制做;
MAINTAINER 表示维护者信息;
RUN 表示要执行的命令。
5)接下来咱们编译本身的Docker镜像:
docker build -t TAGNAME . (注意TAGNAME后面有个“.”,“.”表示Dockerfile的路径;另外TAGNAME要与docker hub的Repository名字保持一致)
我这里的Repo名称为:jackzengcn/bpiboardbuild
因此个人build命令为:docker build -t jackzengcn/bpiboardbuild .
6)build完成后,就能够校验刚才build的镜像:
docker run -it --rm TAGNAME
此次登陆后,就会发现这些命令已经安装好了。
7)校验成功后,就能够准备push镜像到远端Docker仓库,登陆docker:
docker login
8)开始push,docker push TAGNAME
docker push jackzengcn/bpiboardbuild:latest
到此,咱们本身定制的Docker镜像就已经完成了。
原文出处:https://www.cnblogs.com/topbin/p/10314451.html