Docker - 如何在主机容、器和镜像间拷贝文件

Docker - 如何在主机容、器和镜像间拷贝文件

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
Rating: