做嵌入式方向经常会遇到的一个问题, 就是编译环境安装, 如果换电脑, 再重新安装环境是一个比较费时的事情, 这个时候可以自己制作一个 Docker 镜像, 然后把编译环境在 Docker 镜像里面配置好, 以后同步环境就非常方便了, 接下来我们就一起来看一下如何制作一个 Docker 镜像.
1. 制作前准备
登录 Docker Hub,https://cloud.docker.com/, 申请一个账号;
申请好后, 然后创建一个自己的 Repository, 注意 Repository 的命名为小写.
接下来我们就一起来制作一个 Docker 镜像.
2. 制作一个 docker 镜像
1) 首先我们 pull 一个 docker 官方提供的 Ubuntu 镜像:
docker pull Ubuntu:16.04
2) 查看镜像是否已经下载:
docker images
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 --rmTAGNAME
这次登录后, 就会发现这些命令已经安装好了.
7) 校验成功后, 就可以准备 push 镜像到远端 Docker 仓库, 登录 docker:
docker login
8) 开始 push,docker pushTAGNAME
docker push jackzengcn/bpiboardbuild:latest
到此, 我们自己定制的 Docker 镜像就已经完成了.
来源: https://www.cnblogs.com/topbin/p/10314451.html