Docker – 访问主机上现有的容器文件

我有一个docker容器,里面有一些数据,比如/ opt / files。 文件A和B.如何启动该容器并在主机上访问这些文件?

我正在使用Docker for Windows(Hyper-V)。 当我启动容器时:

docker run -it -v C:/tmp:/opt/files myImage 

我看到我的Windows机器和容器内的空文件夹。 我创build的任何新文件当然都反映在双方,但我怎样才能访问已经在容器中的文件(例如,因为他们被添加到Dockerfile中)?

您不能从容器内共享主机。 有两种方法可以做到这一点

从容器中复制文件

 docker cp <containerid>:<file_path_inside_container> localpath 

共享文件夹以外的文件夹

 docker run -it -v C:/tmp:/opt/files_temp myImage 

然后,您将容器复制文件从/opt/files/opt/files_temp

一旦你的容器启动,你可以复制文件到你的主机。

使用docker cphttps://docs.docker.com/engine/reference/commandline/cp/ )。

示例: docker cp CONTAINER:SRC_PATH DEST_PATH|-