背景
Docker提供cp命令,用于主机和容器之间相互拷贝。
docker cp命令
下面所有示例的命令都是在主机进行的。
命令形式如下:
docker cp <主机目录或文件的路径> <容器ID:容器路径>
示例: 运行一个容器,假设其ID为267888e2e9ec。将当前目录的demo文件拷贝到容器根目录:
docker cp demo/ 267888e2e9ec:/
再在这个容器修改demo文件的内容,再将其拷贝到主机(在当前目录,文件夹为demo_tmp):
docker cp 267888e2e9ec:/demo demo_tmp
docker cp不能使用通配符。即不使用使用demo/*这样的方式(如demo/lib*)。直接拷贝整个目录即可。出错示例如下:
# docker cp demo/* 267888e2e9ec:/
"docker cp" requires exactly 2 argument(s).
See 'docker cp --help'.
Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
Copy files/folders between a container and the local filesystem
注:如果文件需要过滤,先在宿主机整理好,再拷贝到一个目录即,将其拷贝到容器即可。
实践小结
有时候,容器内没有vim或vi工具,又无法联网下载,则可以使用docker cp命令实现修改文件的目的。