docker 的使用了—— 提交镜像
创建远程仓库
访问 hub.docker.com/ 并创建一个账号,之后点击 repository --> create repository
输入仓库名称即可创建一个仓库
制作本地镜像
远端创建仓库之后是一个空的仓库,我们无法直接使用docker pull 命令把它拉下来,要修改这个仓库,我们需要先创建一个本地仓库,然后将本地仓库提交上去。
首先我们新建一个目录,比如 可以这样 mkdir aosp-build-box
,然后进入到这个目录 cd aosp-build-box
,然后我们创建一个文件 Dockerfile ,文件名称必须叫做 Dockerifle,这个文件是待会儿用来构建镜像的,我们编辑这个文件 vim Dockerfile
,然后修改文件 比如我们添加如下内容:
FROM ubuntu:18.04
RUN apt-get update && apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
然后保存这个文件,在这个目录下进入命令行,执行 docker build -t aosp-build-box .
注意命令的结尾有一个小圆点,这个小圆点的作用是指明镜像构建所需要引用的目录,因为我们是进入目录之后构建的,所以可以直接用小圆点代表当前目录,构建镜像时会复制构建目录下的所有文件作为镜像的一部分,所以为了使我们最终构建的镜像只包含必须的文件,我们应从一个空的目录开始构建,目录里面只放构建所需要用到的文件。
等待构建完成,我们就拿到了一个包含编译 aosp 所需依赖的镜像,我们可以用 docker images
查看所有下载及构建的镜像。
提交本地镜像
给本地镜像打入tag,确保tag与远端仓库的tag相同,比如我们可以执行docker tag aosp-build-box:latest abcdlll/aosp-build-box:1.0
,然后执行 docker login
,输入帐号密码登陆,继续执行 docker push abcdlll/aosp-build-box:1.0
即可完成镜像提交。
执行完成之后我们可以查看远端仓库,确认我们已经提交成功。