ismohney-and-curlie

研究docker中---ADD和COPY的区别

前言:最近学到docker搭建镜像了,小小研究一下ADD和COPY的区别【dockerfile中指令大小都可以,建议大写】

(虽然网上一搜都有,但是自己动手会有很多不同的感受,多多动手,仅做一个小随笔,技术不精)

1、创建docker容器,直接run创建,稍微简单一点【不用先拉取镜像,run会自动拉取】

    · docker run -d --name T0314 nginx [:latest]   【写不写都可以,不写默认最新版本】

【run 拉取到的镜像】

【记得确认创建成功    docker  ps  [-a] 】

2、上传一个压缩文件,用于研究区别【理论上说,ADD会提供一定的文件处理能力】

(上课的时候,是针对tag文件,我上传的是zip文件做个对比)【mobax直接上传】

【可以重命名】

3、创建dockerfile
【 dockerfile和其所需要的一切文件都应该在同级目录下!】
· vi  dockerfile 
(dockerfile --- 由一系列指令和参数构成的脚本文件)
【   补充知识: 目录标识
-    返回当前目录的上一次打开过的目录;
~  家目录(root用户是/root,对于其他用户是在/home下的以username命名的家目录);
.    代表当前目录;
..   代表上一级目录 ;
/    根目录                   】

4、开写,首行 FROM 开头(每个指令建一层)【压缩文件重命名为 NEW,图上指令错了会报错哦,是FROM】

【直接保存dockerfile,然后创建镜像】

· docker  -t  build   (果然能够正常运行的颜色都更美丽)

【创建成功,接下来就是查看ADD后的文件】

【创建容器,进入容器内查看,dockerfile是把源文件传入创建的镜像文件内,所以要到容器内去查看镜像文件 

    · docker exec -it name bash

(容器内没有 ll ,要用 ls  -l ,也可以自己写alias)

· 结论 --- 无法解压.zip文件

5、使用COPY试一下

· 结论 ------ 无法解压.zip文件

6、尝试.tag文件(步骤不赘述了)

  (1)ADD成功解压,情况如下

  (2)COPY不能解压,情况如下

【补充知识:

创建镜像的时候,不小心重复步骤,直接删除报错,那么就强制删除 (删除镜像一定要删id才能删干净)】

----第一篇博客就完成啦,仅作笔记,如果对各位有帮助就是意外之喜了。

posted on 2023-03-15 19:32  ooyls  阅读(185)  评论(0编辑  收藏  举报

导航