在编写Dockerfile的时候copy宿主机文件到镜像中,在执行构建的时候报错

guoliang@gldeMacBook-Pro docker_file % docker build -f Dockerfile -t jmeter01 .
[+] Building 3.3s (15/16)                                                                                                 => [internal] load build definition from Dockerfile                                                                 0.0s=> => transferring dockerfile: 860B                                                                                 0.0s=> [internal] load .dockerignore                                                                                    0.0s=> => transferring context: 2B                                                                                      0.0s=> [internal] load metadata for docker.io/library/java:8                                                            3.1s=> [auth] library/java:pull token for registry-1.docker.io                                                          0.0s=> [ 1/11] FROM docker.io/library/java:8@sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d    0.0s=> [internal] load build context                                                                                    0.1s=> => transferring context: 2B                                                                                      0.1s=> CACHED [ 2/11] RUN mkdir /jmeterdocker                                                                           0.0s=> CACHED [ 3/11] RUN mkdir -p /jmeterdocker/test                                                                   0.0s=> CACHED [ 4/11] RUN mkdir -p /jmeterdocker/test/input/jmx                                                         0.0s=> CACHED [ 5/11] RUN mkdir -p /jmeterdocker/test/input/testdata                                                    0.0s=> CACHED [ 6/11] RUN mkdir -p /jmeterdocker/test/report/html                                                       0.0s=> CACHED [ 7/11] RUN mkdir -p /jmeterdocker/test/report/jtl                                                        0.0s=> CACHED [ 8/11] RUN mkdir -p /jmeterdocker/test/report/outputdata                                                 0.0s=> CACHED [ 9/11] RUN cd /jmeterdocker                                                                              0.0s=> ERROR [10/11] COPY   ../apache-jmeter-5.4.1.tgz /jmeterdocker                                                    0.0s
------> [10/11] COPY   ../apache-jmeter-5.4.1.tgz /jmeterdocker:
------
failed to compute cache key: "/apache-jmeter-5.4.1.tgz" not found: not found

看下Dockerfile

FROM java:8MAINTAINER <qihao@163.com>ENV http_proxy ""
ENV https_proxy ""RUN mkdir /jmeterdocker
RUN mkdir -p /jmeterdocker/test
RUN mkdir -p /jmeterdocker/test/input/jmx
RUN mkdir -p /jmeterdocker/test/input/testdata
RUN mkdir -p /jmeterdocker/test/report/html
RUN mkdir -p /jmeterdocker/test/report/jtl
RUN mkdir -p /jmeterdocker/test/report/outputdata
RUN cd /jmeterdockerENV JMETER_VERSION=5.4.1
ENV JMETER_HOME=/jmeterdocker/apache-jmeter-${JMETER_VERSION}
ENV JMETER_PATH=${JMETER_HOME}/bin:${PATH}
ENV PATH=${JMETER_HOME}/bin:${PATH}COPY   ../apache-jmeter-5.4.1.tgz /jmeterdockerRUN cd /jmeterdocker && tar xvf apache-jmeter-5.4.1.tgz && rm apache-jmeter-5.4.1.tgz    

可以看到Copy的文件使用的是相对路径(把jmetercopy到镜像的jmeterdocker文件中)

我的jmeter.tgz存放在Docker的上一级目录中。

命令执行后报错提示找不到

failed to compute cache key: "/apache-jmeter-5.4.1.tgz" not found: not found

后来又尝试使用绝对路径更改如下,使用绝对路径

FROM java:8MAINTAINER <qihao@163.com>ENV http_proxy ""
ENV https_proxy ""RUN mkdir /jmeterdocker
RUN mkdir -p /jmeterdocker/test
RUN mkdir -p /jmeterdocker/test/input/jmx
RUN mkdir -p /jmeterdocker/test/input/testdata
RUN mkdir -p /jmeterdocker/test/report/html
RUN mkdir -p /jmeterdocker/test/report/jtl
RUN mkdir -p /jmeterdocker/test/report/outputdata
RUN cd /jmeterdockerENV JMETER_VERSION=5.4.1
ENV JMETER_HOME=/jmeterdocker/apache-jmeter-${JMETER_VERSION}
ENV JMETER_PATH=${JMETER_HOME}/bin:${PATH}
ENV PATH=${JMETER_HOME}/bin:${PATH}COPY   /Users/guoliang/Documents/Work/apache-jmeter-5.4.1.tgz /jmeterdockerRUN cd /jmeterdocker && tar xvf apache-jmeter-5.4.1.tgz && rm apache-jmeter-5.4.1.tgz    

build之后报错内容

guoliang@gldeMacBook-Pro docker_file % docker  build -f Dockerfile -t jmeter001 .
[+] Building 1.2s (14/15)                                                                                                                              => [internal] load build definition from Dockerfile                                                                                              0.0s=> => transferring dockerfile: 177B                                                                                                              0.0s=> [internal] load .dockerignore                                                                                                                 0.0s=> => transferring context: 2B                                                                                                                   0.0s=> [internal] load metadata for docker.io/library/java:8                                                                                         1.1s=> [ 1/11] FROM docker.io/library/java:8@sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d                                 0.0s=> [internal] load build context                                                                                                                 0.0s=> => transferring context: 2B                                                                                                                   0.0s=> CACHED [ 2/11] RUN mkdir /jmeterdocker                                                                                                        0.0s=> CACHED [ 3/11] RUN mkdir -p /jmeterdocker/test                                                                                                0.0s=> CACHED [ 4/11] RUN mkdir -p /jmeterdocker/test/input/jmx                                                                                      0.0s=> CACHED [ 5/11] RUN mkdir -p /jmeterdocker/test/input/testdata                                                                                 0.0s=> CACHED [ 6/11] RUN mkdir -p /jmeterdocker/test/report/html                                                                                    0.0s=> CACHED [ 7/11] RUN mkdir -p /jmeterdocker/test/report/jtl                                                                                     0.0s=> CACHED [ 8/11] RUN mkdir -p /jmeterdocker/test/report/outputdata                                                                              0.0s=> CACHED [ 9/11] RUN cd /jmeterdocker                                                                                                           0.0s=> ERROR [10/11] COPY   /Users/guoliang/Documents/Work/apache-jmeter-5.4.1.tgz /jmeterdocker                                                     0.0s
------> [10/11] COPY   /Users/guoliang/Documents/Work/apache-jmeter-5.4.1.tgz /jmeterdocker:
------
failed to compute cache key: "/Users/guoliang/Documents/Work/apache-jmeter-5.4.1.tgz" not found: not found

后查询Docker文档,它说不能使用相对路径。

当我将jmeter.tgz文件移动到Dockerfile同目录下在进行build后Dockerfile执行成功。

Dockerfile中的copy命令相关推荐

  1. (转) Dockerfile 中的 COPY 与 ADD 命令

    原文:https://www.cnblogs.com/sparkdev/p/9573248.html Dockerfile 中提供了两个非常相似的命令 COPY 和 ADD,本文尝试解释这两个命令的基 ...

  2. (转) Dockerfile 中的 COPY 与 ADD 命令 1

    原文:https://www.cnblogs.com/sparkdev/p/9573248.html Dockerfile 中提供了两个非常相似的命令 COPY 和 ADD,本文尝试解释这两个命令的基 ...

  3. oracle命令窗口粘贴,Oracle数据库中的Copy命令

    SQL*Plus的Copy命令 在数据表间复制数据是Oracle DBA经常面对的任务之一,Oracle为这一任务提供了多种解决方案,SQL*Plus Copy 命令便是其中之一.SQL*Plus C ...

  4. 解决:Dockerfile 中执行 tar 命令始终报错:tar: /xx/xx: Cannot stat: No such file or directory tar: Exiting with

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. docker 执行 build , dockerfile 中有一行命令: RUN tar -z ...

  5. Oracle数据库间的数据复制 - SQLPlus中的COPY命令

     Copy命令可以实现不同Oracle数据库间的数据的复制,也是可以实现同一数据库的数据复制,其性能表现和导入/导出相同.原理图: 根据9i文档,说Copy命令未来会不支持,但实际上Oracle ...

  6. Java的IO操作(二) - 带缓冲区的流对象、写入基本数据类型、实现命令行中的copy命令...

    在上一节中,我们使用FileInputStream类和FileOutputStream类来实现了一个可以自由拷贝文件的功能.为了提高效率,我们人为地定义一个缓冲区byte[] 数组.其实,我们可以使用 ...

  7. Docker学习总结(58)——Dockerfile中,ADD和COPY的区别?

    Dockerfile中的COPY指令和ADD指令都可以将主机上的资源复制或加入到容器镜像中,都是在构建镜像的过程中完成的.COPY指令和ADD指令的唯一区别在于是否支持从远程URL获取资源.COPY指 ...

  8. 【Docker】Dockerfile构建镜像与命令详解

    前言 传统方式部署集群,你需要在每台机器搭建环境,配置各种中间件,这样不但效率低下,而且很难保证环境的一致性,而且配置如果有改动,需要挨个机器修改. 有了Docker,上述问题都能解决.但是官方镜像大 ...

  9. Dockerfile 中的 CMD 和 ENTRYPOINT 有什么区别

    推荐阅读 Helm3(K8S 资源对象管理工具)视频教程:https://edu.csdn.net/course/detail/32506 Helm3(K8S 资源对象管理工具)博客专栏:https: ...

最新文章

  1. Glibc辅助运行库 (C RunTime Library): crt0.o,crt1.o,crti.o crtn.o,crtbegin.o crtend.o
  2. PNAS | 理解单个神经元在深度神经网络中的作用
  3. C++ STL 算法精选之查找篇
  4. python sqlserver 列名_报表自动化,三流用Excel,二流用Python,一流用它
  5. 使用SpringBoot+JPA报错Incorrect syntax near 'hibernate_sequence'
  6. 【深度语义匹配模型】实践篇:语义匹配在贝壳找房智能客服中的应用
  7. 「2019冬令营提高组」送分题
  8. 【谷粒学院】项目总结
  9. Java 全栈工程师进阶路线图
  10. 仿QQ项目(一):好友列表
  11. 难说 | 新读了几本书
  12. 跑通Jetson Nano TensorRt sampleSSD例程
  13. 没有打不了的补丁切不了的面
  14. Ubuntu安装QQ、VM、Chrom软件
  15. 计算机word做课程表实验报告,《用word做课程表》教学设计
  16. 关于Python的虚拟环境
  17. Centos7英文操作环境下的中文输入
  18. 网络安全:大数据问题
  19. 一到面试就紧张,该怎么办?
  20. sp_depends

热门文章

  1. 计算机编程图林先生,【电脑维修】台中林先生:我的电脑平均1週画面
  2. 基于Java毕业设计病人跟踪治疗信息管理系统演示2021源码+系统+mysql+lw文档+部署软件
  3. [原创]VMProject 3.x 3.5: 2021年绕过anti-debugging的最新配置, 解决“a debugger has been found“的问题.
  4. linux信号之sigsuspend和setitimer
  5. 使用SurfaceView+Camera模仿照相机拍照功能
  6. 微博和知乎中的 feed 流是如何实现的
  7. QGIS编译SIP的问题
  8. oracle linux unbreakable linux 6.1迅雷离线高速下载
  9. 你招聘设计师时都问哪些问题?你是怎么招聘设计师大牛的?
  10. 【SpringMVC】自定义拦截器和过滤器