1、FROM //指定基于那个基础镜像

格式FROM<image>或者FROM<image>:<tag>

例如:

FROM centos

FROM centos:latest

2、MAINTAINER //指定作者信息

格式MAINTAINER<name>

例如:

MAINTAINER fansik shandingshangdeyu@hotmail.com

3、RUN //镜像操作指令

格式为RUN<command>或者RUN["executable","param1","param2"]

例如:

RUN yum install httpd

RUN["/bin/bash","-c","echo hello"]

4、CMD //三种格式:

CMD["executable","param1","param2"]

CMD command param1 param2

CMD ["param1","param2"]

RUN和CMD看起来很像,但是CMD用来指定容器启动时用到的命令,只能有一条

例如:

CMD["/bin/bash","/usr/local/nginx/sbin/nginx","-c","/usr/local/nginx/conf/nginx.conf"]

5、EXPOSE

格式为EXPOSE<port>[<port>...]

例如:

EXPOSE 22 80 8443

这个用来指定要映射出去的端口,比如容器内部我们启动了sshd和nginx,所以我们要把22和80端口暴漏出去,这个需配合-P(大写)来工作,也就是说在启动容器时,需要加上-P(大写),让它自动分配,如果想指定具体的端口,也可以用-p(小写)来指定

6、ENV

格式ENV<key><values>

例如:

ENV PATH /usr/local/mysql/bin:$PATH

它主要是为后续的RUN指令提供一个环境变量,我们也可以定义一些自定义的变量

ENV MYSQL_version 5.6

7、ADD

格式:ADD<src><dest>

将本地的一个文件或目录拷贝到容器的某个目录里,其中src为Dockerfile所在目录的相对路径,它可以是一个url。

例如:

ADD<conf/vhosts></usr/local/nginx/conf>

8、COPY

格式同ADD

使用方法和ADD一样,不同的是它不支持url

9、ENTERYPOINT 格式类似CMD

容器启动是要执行的命令,它和CMD很像,也是只有一条生效,如果写多个只有最后一条生效。

和CMD不同的是:

CMD是可以被docker run指令覆盖的,而ENTRYPOINT不能覆盖,比如,容器名字为fansik,在Dockerfile中指定如下CMD:CMD["/bin/echo","test"]启动容器的命令是docker run fansik这样会输出test

如果启动容器的命令为docker run -it fansik /bin/bash什么都不会输出

ENTRYPOINT不会被覆盖,而且会比CMD活着docker run指定得命令要靠前执行

ENTRYPOINT["echo","test"]

docker run -it fansik 123

则会输出test 123,这相当于要执行命令echo test 123

10、VOLUME

格式VOLUME["/data"]

创建一个可以从本地主机或其他容器挂载的挂载点

11、USER

格式USER daemon

指定运行容器的用户

12、WORKDIR

格式WORKDIR /path/to/workdir

为后续的RUN、CMD或者ENTRYPOINT指定工作目录

Docker-Dockerfile格式的更多相关文章

  1. Docker Dockerfile详解

    http://blog.csdn.net/wsscy2004/article/details/25878223 如何使用 Dockerfile用来创建一个自定义的image,包含了用户指定的软件依赖等 ...

  2. docker Dockerfile指令ADD和COPY的区别,添加目录方法

    docker Dockerfile指令ADD和COPY的区别,添加目录方法 ADD指令的功能是将主机构建环境(上下文)目录中的文件和目录.以及一个URL标记的文件 拷贝到镜像中.其格式是: ADD 源 ...

  3. Docker Dockerfile简述

    原文地址:https://www.cnblogs.com/cuimiemie/p/6442677.html 作用 Dockerfile的内容是一坨可以执行的代码(或者说是指令)(docker的DSL) ...

  4. docker Dockerfile里使用的命令说明

    一,dockerfile格式 注释# 指令 参数 指令不区分大小写,但是推荐全部大写指令. 指令从上到下顺序被执行 第一个指令必须是[FROM],指示出要使用的基础镜像. 执行docker file时 ...

  5. Docker - Dockerfile - 常见命令简介

    概述 感觉是个 比较重要的东西 有个疑问 我是先讲 docker build 还是 先讲 Dockerfile 穿插讲 docker build 最基本的东西 原理 -t -f docker file ...

  6. [第十二篇]——Docker Dockerfile之Spring Cloud直播商城 b2b2c电子商务技术总结

    Docker Dockerfile 什么是 Dockerfile? Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明. 使用 Dockerfile 定制 ...

  7. docker——Dockerfile创建镜像

    写在前面: 继续docker的学习,昨天用docker成功跑了tomcat,但是在centos中镜像跑的容器手动装jdk和tomcat,今天学习用Dockerfile创建镜像,并在上面搭建java环境 ...

  8. docker~Dockerfile优化程序的部署

    回到目录 一些理论 我们都知道docker这个容器工具可以帮助我们快速进行环境的部署,这对于运营人员来说,无疑是个福音,而这个工作大叔认为不应该是运营人员干的,而是由开发人员来做,因为只有你知道你干的 ...

  9. docker~Dockerfile方式生成控制台和Api项目的镜像

    回到目录 一些理论知识 将控制台程序和API程序部署到docker,然后运行它,这个首先要解决的问题就是如何在linux平台运行C#代码,哈哈,很古老的问题,事实上,对于这种问题早在几年前就已经有了解 ...

  10. Docker Dockerfile

    镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么之前提及的无法重复的问题.镜像构建透明性的问题.体积的 ...

随机推荐

  1. ssh 无密码登陆

    ssh -i littlesuccess-aws.pem root@172.31.36.91 "cat >> ~/.ssh/authorized_keys" < ...

  2. Mysql数据库的一些命令_LInux

    查看当前数据库的版本,因为有些命令在不同版本中 用法有可能不一样,注意 -V 是大写字母V[root@localhost ~]# mysqladmin -Vmysqladmin  Ver 8.42 D ...

  3. goldengate for big data 12.3发布

    主要新增特性:通用JDBC目标端:支持Amazon Redshift & IBM Netezza Oracle GoldenGate for Big Data 12.3现在支持通用的JDBC目 ...

  4. PHP 单引号 与双引号区别

    在PHP中,字符串的定义可以使用单引号,也可以使用双引号. PHP允许我们在双引号串中直接包含字串变量,双引号串中的变量将被解释而且替换,而单引号串中的内容总被认为是普通字符.例如: $foo = 2 ...

  5. poj3662 最短路+二分

    //Accepted 508 KB 79 ms //spfa+二分 //二分需要的花费cost,把图中大于cost的边设为1,小于cost的边设为0,然后spfa求 //最短路,如果小于K则可行,继续 ...

  6. 安卓性能测试工具-GT,安测试

    GT: 是腾讯出品的一款APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE,  Integrated  Debug&Test  Environment).利用GT,仅凭一部 ...

  7. Java 和 C+

    文不对题,啦啦啦~~~ 第一次感到在windows平台java应用发布的无力,平时自己自写自用都是在自己电脑上,没什么感觉.如今要发布个给人用,打包应用.附加jre,这过程还得多加几行字说明,另人特么 ...

  8. Android环境虚拟WINDOWS系统

    参考文档:http://bbs.anzhi.com/thread-5120526-1-1.html 我们知道安卓手机是arm平台,windows是x86平台,指令集完全不同,但在这里要教给大家的是靠软 ...

  9. 查出重复的数据---------oracle

    select chcod, count(1) from a group by chcod having count(1) > 1

  10. shader forge卡通渲染!

    自从用了shader forge,妈妈我再也不写shader了...... 写了3种,分别用的顶点法线.法线贴图.顶点法线+法线贴图,然后还有自发光和受光两种模式,那就是6种了吧... 最后来一张sh ...