zoukankan      html  css  js  c++  java
  • 坑(六)—— dockerfile中COPY与ADD

    Dockerfile中ADD与COPY

    注意点

    • COPY复制的是指定目录下的文件,不会复制该目录

      up@up123:~/a$ ls
      a.txt b.txt c.txt
      
      COPY a /root/
      
      # 镜像root目录下,没有目录a
      # a.txt b.txt c.txt
      

    问题

    在Dockerfile中使用 ADD将文件复制到镜像的指定目录下

    ADD nmap-7.60.tar.bz2 /root/
    
    RUN bzip2 -cd nmap-7.60.tar.bz2 | tar xvf -
    

    原因

    ADD除了普通的复制文件,对于压缩文件,会先解压再将解压后的文件夹复制到镜像中

    COPY仅仅是对文件进行复制,不会对复制的文件进行任何操作

    解决方案

    1. 使用COPYbzip2

      ADD nmap-7.60.tar.bz2 /root/
      
      RUN bzip2 -cd nmap-7.60.tar.bz2 | tar xvf - && 
      		   cd nmap-7.60
      
    2. 只使用ADD,不再次解压

      ADD nmap-7.60.tar.bz2 /root/
      
      RUN cd nmap-7.60
      
  • 相关阅读:
    TP框架对数据库的操作
    Nginx的安装及配置
    微信小程序的入门
    MySQL的多表联查
    Larave中CSRF攻击
    Linux(三)
    Linux(二)
    Linux(一)
    安全测试检查项
    mysql-视图及索引简介
  • 原文地址:https://www.cnblogs.com/linagcheng/p/13451671.html
Copyright © 2011-2022 走看看