《基于Kubernetes的容器云平台实战》——3.2.5 构建镜像
3.2.5 构建镜像
docker image build根据Dockerfile构建镜像。它通过Docker引擎动态生成容器执行Dockerfile中指令,逐次将执行结果提交为中间镜像和指定标识镜像。基本命令语法为:
docker image build [OPTIONS] PATH | URL | -
PATH、URL确定构建上下文。如指定PATH,将路径下(也包括当前路径)文件和目录打包(.dockerignore含不想上传内容)上传到Docker引擎;如指定git URL,则引擎克隆该项目指定分支,作为上下文使用;还可使用远端tar文件以及‘-’表示的标准输入作为上下文。
-f/--file指定Dockerfile的路径,默认为当前路径下Dockerfile文件。
-t/--tag指定构建成功后镜像标识,使用多个该选项来指定多个镜像标识。
Dockerfile中可以定义ARG参数,这些参数用--build-arg选项在构建时动态指定,预定义参数也是如此:--build-arg=http_proxy=“http://one.proxy”。
使用--iidfile将镜像ID写入指定文件。Dockerfile中有多段时,--target指定从哪段开始构建。--label指定生成镜像的标签。--pull会拉取基础镜像新版本,不使用本地的。-q/--quiet控制输出信息。--add-host可定义主机名到IP映射。--network=bridge | host | none | container:<name|id>指定运行run命令的网络模式。--security-opt=[]可参见前面docker container run选项的说明,值为key=value形式。
--rm要求成功后删除中间层,--force-rm则总是删除。--no-cache说明构建时不使用缓存;而--cache-from=[]中包含的镜像用于搜索缓存镜像层。--squash是实验性功能,将当前build过程只作为一层添加到父镜像上。
还有一些选项用于限制构建容器的资源占用,比如:--cgroup-parent;-m/--memory;--memory-swap;--shm-size;--cpu-shares;--cpu-period,--cpu-quota,--cpuset-cpus,--cpuset-mems;--ulimit=[]等。
另外,--isolation选项指定使用的容器隔离技术,只在Windows下有意义。
- 点赞
- 收藏
- 关注作者
评论(0)