dockerfiles的指令不区分大小写,但约定为全部大写

dockerfiles支持如下语法命令:

1.FROM <image name>

  所有的dockerfile都必须以from命令开始,from命令会指定镜像基于哪个基础镜像而创建

  如:

  FROM ubuntu

2.MAINTAINER <author name>

  设置该镜像的作者

3.RUN <command>

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

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

dockerfile语法的更多相关文章

  1. 四:(之五)Dockerfile语法梳理和实践

    *5.Dockerfile语法梳理和实践 5.1 尽量使用官方的image作为base image 5.2 metadata:指明作者 版本 描述 5.3 每一条run都能形成一个分层,避免无用分层应 ...

  2. Dockerfile语法梳理

    Dockerfile语法 我们先来看一下上篇的 Dockerfile #获取base image FROM adoptopenjdk/openjdk8:latest #类似于执行 linux指令 RU ...

  3. dockerfile 语法

    基本语法格式:INSTRUCTION arguments (指令+参数)不分大小写 注释格式:# 注释 第一个指令必须是FROM,标示使用什么镜像 1.解析器指令 解析器指令是可选的,并且影响处理Do ...

  4. Dockerfile语法简介

    Dockerfile是由一系列命令和参数构成的脚本,一个Dockerfile里面包含了构建整个image的完整命令.Docker通过docker build执行Dockerfile中的一系列命令自动构 ...

  5. DockerFile语法【h】

    DockerFile在我理解就是可以将所需要构建镜像的功能.组件都天前配置好,然后直接生成一个Image,而不是先生成镜像,再通过修改容器的方法来生成最终需要的镜像.   镜像的定值实际上就是定值每一 ...

  6. 一文学会Dockerfile语法

    接应上篇,续讲前文.今天咱来聊一下Dockerfile的使用 . 虽然可以通过docker commit命令来手动创建镜像,但是通过Dockerfile文件,可以帮助我们自动创建镜像,并且能够自定义创 ...

  7. dockerfile语法规则

    编写Dockerfile 在前面的章节,我们学习了通过docker命令来下载镜像,运行镜像,在容器中部署自己的程序,最后将容器提交到自己的镜像中.但是,这并不是Docker推荐的镜像构建方式.在这一章 ...

  8. 四:(之八_Linux压力测试工具stress)Dockerfile语法梳理和实践

    8.1 安装stress stress目前是在该目录下的可执行文件 --vm 创建几个进程 --vm-bytes 为每个进程分配多少内存 8.2 debug输出stress创建进程的过程 一直在创建有 ...

  9. 四:(之六_镜像发布)Dockerfile语法梳理和实践

    *6.镜像发布 1>注册Docker Hub账号并登陆. build的镜像名称格式必须是: dockerhub账户名/标识: 使用docker login在项目目录下登录: 浏览器: 2> ...

随机推荐

  1. 1 IDEA 安装 及 IDEA开发 spring的环境搭建

    摘要: 主要讲解使用 IDEA 开发 Spring MVC 的环境搭建,Maven的简单教学. 参考1:https://my.oschina.net/gaussik/blog/385697 参考2:h ...

  2. PHP中的for循环

    循环 循环是操作某一个功能(执行某段代码). ①循环四要素: a 循环初始值 b 循环的条件 c 循环状态 d 循环体 ②for循环 a 穷举:把所有的可能性的都一一列出来. b 迭代:每次循环都会把 ...

  3. 微信小程序省市联动

    最近呢刚好做了一个省市联动的功能,今天看到有人问这个怎么做,我就把我做的放上来共享一下: 首先呢,来看看效果,点击文字'点击',弹出选择窗口,点击取消或者确定(取消.确定按钮在选择框上边,截图有些不清 ...

  4. onclick = xxx这种赋值写法绑定事件的原理是什么?

    本文转自知乎貘吃馍香的回答 提问:刚入门不久,能力有限,这个问题我描述起来有点困难,只有劳烦各位大神细看了 我之前一直以为js底层存在类似下面这样的代码: //给所有dom对象定义好onclick值为 ...

  5. jquery如何设置html众标签中的值

    $("img").attr("src",some_url);//jquery设置img标签中的src值 $("#user").val(&qu ...

  6. 关于centos 7 systemctl自定义服务笔记

    通过添加 Restart=always RestartSec=2s StartLimitBurst=10 实现systemctl服务崩溃自动重启

  7. 【转】JDBC学习笔记(3)——复习和练习

    转自:http://www.cnblogs.com/ysw-go/ 复习部分 一.获取数据库连接 1)方式一 1 // 获取数据库连接 2 @Test 3 public void testGetCon ...

  8. Android系统--输入系统(八)Reader线程_使用EventHub读取事件

    Android系统--输入系统(八)Reader线程_使用EventHub读取事件 1. Reader线程工作流程 获得事件 size_t count = mEventHub->getEvent ...

  9. Lucene工作原理

    Lucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构.该结构及相应的生成算法如下: 0)设有两篇文章1和2 文章1的内容为:Tom lives in Guangzhou,I l ...

  10. Activiti引擎启动失败

    今天部署项目测试时发现activiti启动失败,研究了会才把问题解决!! 错误信息:SEVERE: problem during schema create, statement create seq ...