build
用法:docker build [OPTIONS] PATH | URL | -
功能:使用指定路径中的Dockerfile生成构建一个新的image
选项:常用选项参数如下,更多选项可以查看docker help build
表 1 参数说明
Dockerfile介绍:
Dockerfile是一个镜像的表示,可以通过Dockerfile来描述构建镜像的步骤,并自动构建一个容器,所有的 Dockerfile 命令格式都是:INSTRUCTION arguments
FROM命令
格式:FROM
功能:该命令指定基本镜像,是所有Dockerfile文件的第一个命令,如果没有指定基本镜像的tag,使用默认tag名latest。
RUN命令
格式:RUN
RUN [“executable”, “param1”, “param2” … ] (exec form)
功能:RUN命令会在上面FROM指定的镜像里执行指定的任何命令,然后提交(commit)结果,提交的镜像会在后面继续用到。RUN命令等价于:
docker run image command
docker commit container_id
注释
使用#注释
MAINTAINER命令
格式:MAINTAINER
功能:命令用来指定维护者的姓名和联系方式
ENTRYPOINT命令
格式:ENTRYPOINT cmd param1 param2 … 或者ENTRYPOINT [“cmd”, “param1”, “param2”…]
功能:设置在容器启动时执行命令
USER命令
格式:USER name
功能:指定 memcached 的运行用户
EXPOSE命令
格式:EXPOSE
功能:开放镜像的一个或多个端口
ENV命令
格式:ENV
功能:设置环境变量,设置了后,后续的RUN命令都可以使用
ADD命令
格式:ADD
功能:从src复制文件到container的dest路径,
VOLUME命令
格式:VOLUME [“
功能:创建一个挂载点用于共享目录
WORKDIR命令
格式:workdir
功能:配置RUN, CMD, ENTRYPOINT 命令设置当前工作路径可以设置多次,如果是相对路径,则相对前一个 WORKDIR 命令
CMD命令
格式:CMD [“executable”,”param1”,”param2”] (like an exec, preferred form)
CMD [“param1”,”param2”] (as default parameters to ENTRYPOINT)
CMD command param1 param2 (as a shell)
功能:一个Dockerfile里只能有一个CMD,如果有多个,只有最后一个生效
ONBUILD命令
格式:ONBUILD [其它指令]
功能:后面跟其它指令,比如 RUN、COPY 等,这些指令,在当前镜像构建时并不会被执行,只有当以当前镜像为基础镜像,去构建下一级镜像的时候才会被执行
下面是Dockerfile的一个完整例子,该Dockerfile将构建一个安装了sshd服务的image
|
示例:
以上文的Dockerfile构建一个image
$ sudo docker build -t ubuntu:latest
通过以下命令可以看到这个生成的image:
docker images | grep ubuntu