docker build 命令的上下文构建

在使用dockerfile 构建镜像时,会涉及到docker build命令。在使用该命令时,会涉及到docker的一些基本原理。
一、docker是一个C/S架构的服务。我们平常在命令行输入的一些docker命令,如docker run ,docker inspect ,docker ps等,这些都是在docker的客户端上进行的,当docker的客户端接收到这些命令后,会通过一个REST API的接口传输到docker的服务端,有服务端来执行这些命令。
那么,这个架构个上下文构建有什么联系呐。
因为我们在编写dockerfile时,会用到一些ADD COPY命令,需要从本地上传一些文件到镜像中。而我们的docker客户端,实际上并不负责处理这个命令,就需要将我们的上下文中的一些文件全部打包传给服务端,由服务端来执行这个构建命令。这就是为什么要进行上下文构建,就是为了,dockerfile中的ADD或是COPY命令。需要将传到镜像中的文件,打包给服务端,不然服务端在dockerfile文件中,光有命令,却找不到需要上传的文件,会构建失败。
二、上下文的构建,很重要。知道了原理,现在来说一些注意事项。我们在使用命令构建时所用到的 . 就是代表的上下文。这个 . 表示将目录下的所有文件打包,上传到服务端来帮助服务端构建镜像。因此,我们在dockerfile文件中使用COPY 命令
COPY …/test /app 这个就会失败,因为服务端找不到这个test文件,他不在上下文所构建文件中。所以,我们在构建镜像时,会创建一个空目录,里面放上我们会需要的文件,这样一来,就方便多了。要是,在某个磁盘的根目录中创建的话,那么就是造成打包整个磁盘上传到服务端的情况了。
三、docker build命令可以并不是非要以dockerfile文件来构建,可以使用-f指定文件。例如
docker build -f /opt/test -t httpd:1 .
这表示使用/opt/test来作为“dockerfile” 构建。但是 . 还是在当前目录下打包上下文。
所以。目录和.的关系要找清楚。

docker build涉及到的docker原理相关推荐

  1. Dockerfile介绍 和 docker build常用命令介绍

    docker使用教程相关系列 目录 目录 什么是 dockerfile docker镜像制作的工作逻辑 Dockerfile的基本结构 Dockerfile格式 案例: Build镜像 我们之前学习, ...

  2. Docker build失败

    Docker学习·闭坑分享 很久没有更新Csdn了,最近碰到的云计算项目太多了,太多虚拟化.容器.集群....于是为了避开未来职业瓶颈,捡起学习从容器到底层虚拟化! 分享通过Dockerfile文件使 ...

  3. Docker | Docker技术基础梳理(五) - Docker网络管理

    Docker | Docker技术基础梳理(五) - Docker网络管理 链接: 原文链接 原文链接: https://gitbook.cn/books/5b8f3c471966b44b00d265 ...

  4. docker容器管理 php,基于Docker的PHP开发环境

    [编者的话]本文作者是Geoffrey,他是一个PHP的Web开发者,喜欢DevOps和Docker.本文主要介绍了如何使用Docker构建PHP的开发环境,文中作者也探讨了构建基于Docker的开发 ...

  5. Docker(三):Docker镜像加速器和常用命令

    镜像加速器(免费) 1.打开阿里云官网,搜索"容器镜像服务". 2.点击左边导航栏"镜像加速器". 3.把加速器地址复制到Docker配置. 在registry ...

  6. Docker build创建指定容器镜像

    Docker build: Build an image from a Dockerfile. 按照Dockerfile文件所定义内容创建临时性容器,把Docker中所定义的每行命令在临时容器中执行, ...

  7. Docker圣经:大白话说Docker底层原理,6W字实现Docker自由

    说在前面: 现在拿到offer超级难,甚至连面试电话,一个都搞不到. 尼恩的技术社群(50+)中,很多小伙伴凭借 "左手云原生+右手大数据"的绝活,拿到了offer,并且是非常优质 ...

  8. docker build -t_利用Dockerfile自定义镜像-图解轻松学Dockeramp;K8S

    >>>点我开始播放<<< 你好,我是老齐,本节咱们来学习使用docker file配置文件,构建属于自己的镜像.回到咱们的控制台,在这首先来看一下.上一节课我们学习 ...

  9. Docker(45)- docker build 命令详解

    docker build 命令原理 docker build 命令从 Dockerfile 和上下文构建镜像 构建的上下文:位于指定 PATH 或 URL 中的一组文件 构建过程可以引用上下文中的任何 ...

最新文章

  1. python gevent
  2. mysql版本选择最终建议
  3. extract进程 oracle,ogg extract进程stoped问题
  4. windows下常用运行命令
  5. Tensorflow实例3: 验证码图片的识别训练,每张图片有4个字母
  6. Java中通过代理对类进行修改
  7. 光缆故障测试_简单的测试可以防止最严重的故障
  8. 前端学习(2797):实现右侧数据的渲染
  9. java 中文 编译_java编译带中文是显示乱码的错误
  10. php 验证码需开启gd2
  11. Github | Facebook人工智能实验室出品Pythia模块框架
  12. 基于灰度世界、完美反射、动态阈值等图像自动白平衡算法的原理、实现及效果...
  13. IOS+Android 车牌识别SDK开发包——可以各种角度瞬间OCR识别车牌牌号
  14. 远程计算机怎么桌面显示不全,win7系统连接远程桌面却不能全屏显示解决方法...
  15. leetcode Revert Binary Tree
  16. 海康威视:笔试题(20190908)
  17. 微信公众号如何上传附件(Word、Excel、Pdf、PPT),三步轻松实现
  18. VScode 显示垂直标尺
  19. mingw编译ffmpeg+librtmp过程记录
  20. python视觉识别字_Python通过Tesseract库实现文字识别

热门文章

  1. 玩客云|赚钱宝3代|魔百盒 Armbian Docker 空间不足 增加U盘容量
  2. Hyperledger-indy 官方文档人工翻译
  3. c语言深度解剖-关键字
  4. PCIE Feature ----- SRIOV
  5. 移动硬盘电脑无法识别之供电不足
  6. 星环科技TDH社区版版本来啦!!!快来看看
  7. 数据链路层的数据传输
  8. (线段树--区间更新lazy)CDOJ1057 秋实大哥与花
  9. XlsReadWriteII EXCEL Cell Font 单元字体设置
  10. 第0天 无人问津 --人生得意须尽欢,莫使金樽空对月 《游记80天》