dockerfile语法

dockerfiles的指令不区分大小写,但约定为所有大写docker

dockerfiles支持以下语法命令:shell

1.FROM <image name>ubuntu

  全部的dockerfile都必须以from命令开始,from命令会指定镜像基于哪一个基础镜像而建立缓存

  如:bash

  FROM ubuntuui

2.MAINTAINER <author name>code

  设置该镜像的做者dockerfile

3.RUN <command>io

  在shell或者exec的环境下执行的命令,run指令会在新建立的镜像添加新的层面,接下来提交的结果用在dockerfile的下一条指令中。table

4.ADD <src> <destination>

  复制文件指令,src为启动上下文中的一个文件或一个URL中的文件,destination是容器内的路径

5.CMD ["executable","param1","param2" ]或CMD command param1 param2

  提供容器默认的执行命令,dockerfile只容许使用一次CMD命令,若是执行屡次,最后一次自动替换以前的。

6.EXPOSE <port>

  指定容器在运行时监听的端口

7.ENTRYPOINT ["executable","param1","param2"]或ENTRYPOINT command param1  param2

  给容器指定一个默认的应用程序,这意味着用镜像建立容器时,只运行指定的应用,相似于CMD命令,也是只容许一个ENTRYPOINT,最后一个会抵消前面的。

8.WORKDIR <path>

  指定RUN,CMD,ENTRYPOINT命令的工做目录

9.ENV <key> <value>

  设置环境变量

10.USER <uid>

  镜像正在运行时设置一个UID

11.VOLUME ['/data']

  受权访问从容器内到主机上的目录

  在启动容器时指定目录使用 -v参数 -v 本地目录:容器目录,如把本机/code/aosp挂载到容器内的/aosp目录:

  docker run -v /data/aosp:/aosp ubuntu

  i.e.若是要挂载多个目录可屡次使用-v参数

 

 

使用如下命令来从Dockerfile构建镜像

docker build [options] PATH | URL

options有

  --rm=true表示构建成功后,移除全部中间容器

  --no-cache=false 表示在构建过程当中不使用缓存

 

ENV 设置环境变量
ENV <key><value>
ENV指令能够用于为docker容器设置环境变量

ENV设置的环境变量,能够使用 docker inspect命令来查看。同时还能够使用docker run --env <key>=<value>来修改环境变量。

Note: 环境变量的设置要合理,好比将环境变量设置为非交互的 ENV DEBIAN_FRONTEND noninteractive.那再用这个来进行操做: docker run -t -i image bash

相关文章
相关标签/搜索