之前的文章里介绍了 Docker 的基本操作,再来水一篇文章说说怎么对容器里的文件进行管理。
Docker 容器虽然类似虚拟机,但如果想要物理机和容器内系统进行文件传输时,还是有点区别的。
如果只是单纯对容器内的系统进行本地文件管理的话,那么用 docker exec
这类命令直接进入容器内部,用常规命令行进行管理即可。
但很多时候都是突然遇到某个需求,需要外部物理机向容器内部拷贝文件,或者容器里的文件拷贝出来,而 Docker 的缺点就是容器一旦创建后,再修改参数比较麻烦,而创建时显然不可能预估到后续所有需求,提前映射所有目录啥的。
好在 Docker 本身就提供了对应的文件传输命令,那就是 copy 和 add 指令,这两个指令用法相似但又存在部分不同。
copy 命令顾名思义,是基础的指令,可以用于容器和外界物理机之间拷贝文件,命令格式视不同目标,可以有多种组合:
docker cp 容器 ID 或名称: 容器目录 物理机目录
docker cp 物理机目录 容器 ID 或名称: 容器目录
比如创建了一个镜像,容器 ID 为 b2860e937844。