首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将文件从docker虚拟机复制到OS X上的主机?

如何将文件从docker虚拟机复制到OS X上的主机?
EN

Stack Overflow用户
提问于 2018-02-04 22:08:17
回答 2查看 1.9K关注 0票数 2

我使用OS X 10.13.3,我的docker版本如下:

代码语言:javascript
运行
复制
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的虚拟机中运行,我可以通过以下命令进入:

代码语言:javascript
运行
复制
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

在docker的历史版本中,docker使用Docker.qcow2作为vm的镜像。本地/Users目录挂载到docker vm中,因此我可以将文件复制到我的主目录,如/Users/username/Downloads

代码语言:javascript
运行
复制
cp /var/lib/docker/image/overlay2/repositories.json /Users/username/Downloads

在最新的版本中,Docker使用Docker.raw作为vm的镜像,我不能用这种方式复制文件。

如何将文件从虚拟机复制到我的OS X?

EN

回答 2

Stack Overflow用户

发布于 2020-05-08 18:08:44

一种可能的解决方法:

添加本地目录作为容器的卷(bind-mount)。在docker-compose.yml中,这将类似于:

代码语言:javascript
运行
复制
volumes:
       - wpdb:/var/lib/mysql 
       - ./db:/root 

wpdb是一个docker卷,它位于linux虚拟机中,无法从本地mac目录访问。

./db将是绑定挂载的,可在与docker-compose.yml文件相同的目录中进行访问

您复制到/root目录中的任何文件都可以在本地mac目录./db中找到。

在上面的示例中:

代码语言:javascript
运行
复制
- ./db:/root 

将是绑定挂载。

这篇文章可能会更清楚地解释它:

Choosing Between Volume & Bind Mount

docker run -v $PWD:/home containername

票数 0
EN

Stack Overflow用户

发布于 2019-03-06 17:48:30

这可以通过使用docker cp来完成。

代码语言:javascript
运行
复制
docker cp <CONTAINER_ID>:<SRC_PATH_ON_CONTAINER> <DEST_PATH_ON_LOCAL_MACHINE>

更多细节:Docker docs

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48608899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档