构建docker编译AOSP
配置AOSP docker编译环境
1.安装docker
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
参考:github
2.利用Dockerfile生成镜像
在根目录下执行:
docker build --build-arg username=test \
--build-arg passwd=1234 \
-t imagename:v1 .
--build-arg
指定编译参数:用户名为test
,密码是1234
,可自定义
imagename是镜像名,V1是TAG,可自定义
或者使用默认用户名zhangsan
,密码123456
;
docker build -t imagename:v1 .
运行结束后,可以查看是否生成docker镜像:
docker images
3.运行docker
docker run -it --name "my_docker" \
-v /home/username/work/:/home/zhangsan/ \
imagename:v1
-
-it 指示以交互式终端进入容器
-
my_docker是容器的名称,可以自定义;
-
-v 指示挂载本地目录,需要安照实际替换;
/home/username/work/
是本地工作目录;/home/zhangsan/
是容器目录 -
imagename:v1 指示容器使用的镜像;
可以在本地shell查看容器运行情况
docker ps -a
4.Dockerfile
# 配置系统用户
FROM ubuntu:14.04
ARG username=zhangsan
ARG passwd=123456
# create user
RUN useradd -ms /bin/bash $username
# add user to 'sudo' group
RUN adduser $username sudo
# change password
RUN echo $username:$passwd | chpasswd
# 配置编译环境
RUN apt-get install software-properties-common -y
RUN add-apt-repository ppa:openjdk-r/ppa
RUN apt-get update && apt-get upgrade -y
RUN apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip libssl-dev vim python python-pip libxml-simple-perl libxml-sax-base-perl openjdk-8-jdk bc -y
RUN pip install requests
# 拷贝本地文件夹
ADD test_dir /home/test_dir
USER $username
WORKDIR /home/$username