一、构筑镜像命令

docker build -t test/nginx:v1.0 - prese/nginx:v1.0 -f /git/dockerfile .

-t:指定存储库:镜像名和标签保存新镜像(可使用多个-t参数,指定多个存储库)

-f:指定dockerfile文件位置

二、构建解析

  1. 构建有docker守护进程运行
  2. 构建第一件事就是将整个上下文(递归地)发送到守护进程
  3. 在运行dockerfile中的指令之前,会先执行dockerfile的初步验证,且如果语法不正确则返回错误
  4. docker守护进程会逐个运行dockerfile中的指令
  5. 每条指令都是独立运行的,且会创建一个新镜像(输出新镜像ID),所以不会对之后的指令产生影响
三、dockerfile文件格式
  1. 必须从FROM开始,指定构建的基础镜像
  2. #开头的行当做注释
  3. 环境替换:${variable:-word}表示如果变量variable被设置,则结果将是该值;如果变量variable没有设置,那么word将是结果值
            ${variable:+word}表示若果variable设置则返回word,否则结果为空字符串
  4. RUN:执行当前镜像的任何命令,可使用"\"转行,一次执行多条命令
  5. CMD:执行镜像的应用程序,dockerfile文件中只能有一个CMD,若果使用多个CMD,则只会执行最后一个CMD
  6. COPY:将源的目录或文件复制到容器的文件系统
  7. WORKDIR:用于为Dockerfile中的RUN、CMD和COPY指令设置工作目录(若工作目录不存在,会默认创建)
  8. STOPSIGNAL:默认的stop-signal是SIGTERM,在docker stop的时候会给容器内PID为1的进程发送这个signal,通过--stop-signal可以设置自己需要的signal,主要的目的是为了让容器内的应用程序在接收到signal之后可以先做一些事情,实现容器的平滑退出,如果不做任何处理,容器将在一段时间之后强制退出,会造成业务的强制中断,这个时间默认是10s

参考链接:https://blog.csdn.net/pushiqiang/article/details/78714628

dockerfile使用的更多相关文章

  1. 如何用Dockerfile创建镜像

    本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p/5181222.html 创建镜像的目的 首先说DockerHub或其它一些镜像仓库已经提供了够多的镜像,有 ...

  2. Dockerfile初探

    git上的asp.net samples工程已经写好了docker file,内容是如下   //任何dockersfile都要以FORM开头,约定是用大写. FROM microsoft/aspne ...

  3. ubuntu 16.04 Dockerfile 安装mysql

    默认上MariaDB的包并没有在Ubuntu仓库中.要安装MariaDB,我们首先要设置MariaDB仓库. 配置MariaDB 仓库 # apt-get install software-prope ...

  4. 分析Mysql 5.6的Dockerfile

    Docker官方的Mysql镜像的Dockerfile托管在Github上,地址如下: https://github.com/docker-library/mysql/tree/5836bc9af9d ...

  5. 利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像

    Dockerfile内容如下: FROM centos MAINTAINER Victor ivictor@foxmail.com WORKDIR /root RUN rm -f /etc/yum.r ...

  6. Docker dockerfile创建Eclipse镜像初试

    抽空初步阅读了Docker技术入门与实战 [Kindle电子书] http://www.cnblogs.com/2018/p/4600116.html 现在想首先在开发环境下引入统一的环境,由于开发中 ...

  7. 安装Nginx的Dockerfile实例

    #################################################Dockerfile to build Nginx Installed Containers##Bas ...

  8. 测试dockerfile

    测试dockerfile是否ok(比如我的Dockerfile在deploy目录下) docker build -t my_image -f deploy/Dockerfile . docker im ...

  9. 通过Dockerfile建立.NET Core mvc Image

    生成.NET core mvc code docker run -itd microsoft/dotnet:latestdocker psdocker attach containeridmkdir ...

  10. .Net Core+cenos7+Docker+Dockerfile 部署实践

    因为这段时间比较忙,同时也在抽时间将开发框架转移到 .net Core 上 所以写博客的时间就少了,这次我利用dockerfile成功将.net Core程序部署到了cenos7容器中,特抽时间把我的 ...

随机推荐

  1. Java中对象的比较(学习笔记)

    1)详细说明对象的比较方式有哪些? ①对象引用的比较("= ="运算符) "= ="是将对象的引用进行比较,实质是比较两个引用变量是否引用同一个对象.注意的点: ...

  2. read函数和write函数

    read 函数 inline int read() { ,f=; char c=getchar(); ; c=getchar();} +c-'; c=getchar();} return f*x; } ...

  3. Falcor 学习一基本使用

    falcor 是netflix 公司为了解决自己api数据查询所开发的查询框架,很不错(尽管netflix 也在用graphql )以下是falcor 的 一个简单使用,基于express 框架,使用 ...

  4. ES5对象新增的方法

    Object.is()-----判断是否全等,和===一样Object.assign()-----对象的复制Object.keys()-----以数组的形式返回所有可遍历属性的键名,原型上的属性不能遍 ...

  5. linux命令之------which命令/cp命令/Head及tail命令/grep命令/pwd命令/cd命令/df命令/mkdir命令/mount及umount命令/ls命令/history命令/ifconfig命令/ping命令/useradd命令/命令passwd/kill命令/su命令/clear命令/ssh命令/tar解压缩/远程拷贝scp

    which命令 1)    作用:搜索某个系统命令的位置. 2)    案例:查询vi命令路径:which vi cp命令 1)作用:用于复制文件或目录: 2)-a:此选项通常使用在复制目录时使用,它 ...

  6. SP5971 LCMSUM 数论

    题面 题目要我们求这个: \[\sum_{i=1}^n lcm(i,n)\] 开始化式子: \[\sum_{i=1}^{n} \frac{i*n}{gcd(i,n)}\] \[\sum_{d|n} \ ...

  7. BZOJ2151/洛谷P1792 题解

    若想要深入学习反悔贪心,传送门. Description: 有 \(n\) 个位置,每个位置有一个价值.有 \(m\) 个树苗,将这些树苗种在这些位置上,相邻位置不能都种.求可以得到的最大值或无解信息 ...

  8. Centos7下安装ORACLE 11g,弹窗不显示

    Centos7下安装ORACLE 11gR2,弹窗不显示,安装界面显示为灰色. 解决方法:执行安装时带上一下参数 ./runInstaller -jreLoc /etc/alternatives/jr ...

  9. kotlin基础 字符串比较 equal

    strring.equal(str,boolean) boolean=False,默认值,区分大小写 boolean=True,不区分大小写

  10. 全新思维导图 XMind ZEN v10.0.0 中文破解版

    http://www.carrotchou.blog/20331.html 官网 https://www.xmind.cn/ 注意事项 破解版本已经去除了全部的官方试用版的限制,让大家可以像正版用户一 ...