研究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才能删干净)】
----第一篇博客就完成啦,仅作笔记,如果对各位有帮助就是意外之喜了。