我使用OS X 10.13.3
,我的docker版本如下:
Client:
Version: 17.12.0-ce
API version: 1.35
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:03:51 2017
OS/Arch: darwin/amd64
Server:
Engine:
Version: 17.12.0-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:12:29 2017
OS/Arch: linux/amd64
Experimental: true
我知道docker在OS X的虚拟机中运行,我可以通过以下命令进入:
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
在docker的历史版本中,docker使用Docker.qcow2
作为vm的镜像。本地/Users
目录挂载到docker vm中,因此我可以将文件复制到我的主目录,如/Users/username/Downloads
cp /var/lib/docker/image/overlay2/repositories.json /Users/username/Downloads
在最新的版本中,Docker使用Docker.raw
作为vm的镜像,我不能用这种方式复制文件。
如何将文件从虚拟机复制到我的OS X?
发布于 2020-05-08 18:08:44
一种可能的解决方法:
添加本地目录作为容器的卷(bind-mount)。在docker-compose.yml
中,这将类似于:
volumes:
- wpdb:/var/lib/mysql
- ./db:/root
wpdb
是一个docker卷,它位于linux虚拟机中,无法从本地mac目录访问。
./db
将是绑定挂载的,可在与docker-compose.yml
文件相同的目录中进行访问
您复制到/root
目录中的任何文件都可以在本地mac目录./db
中找到。
在上面的示例中:
- ./db:/root
将是绑定挂载。
这篇文章可能会更清楚地解释它:
Choosing Between Volume & Bind Mount
docker run -v $PWD:/home containername
发布于 2019-03-06 17:48:30
这可以通过使用docker cp来完成。
docker cp <CONTAINER_ID>:<SRC_PATH_ON_CONTAINER> <DEST_PATH_ON_LOCAL_MACHINE>
更多细节:Docker docs
https://stackoverflow.com/questions/48608899
复制相似问题