docker 容器或镜像和主机之间传输文件非常简单,简要说明如下:
容器和主机间传输文件
1
| docker cp <containerId>:/file/path/within/container /host/path/target
|
1
| docker cp /host/path/target <containerId>:/file/path/within/container
|
镜像和主机间传输文件
1
2
3
| docker create -ti --name dummy IMAGE_NAME bash
docker cp dummy:/path/to/file /dest/to/file
docker rm -f dummy
|
或者
1
| docker run --rm <image> cat <source> > <local_dest>
|
- 从主机向镜像拷贝文件
思路是先创建一个容器,向容器拷贝文件,然后 commit 容器到镜像。
1
2
3
| docker create -ti --name dummy IMAGE_NAME bash
docker cp /dest/to/file dummy:/path/to/file
docker commit dummy image-name
|
或者
1
2
3
| docker exec -it container-ID bash
docker cp /host/path/target <container-ID>:/file/path/within/container
docker commit container-ID image-name
|