Macos 如何将文件从docker虚拟机复制到OSX上的主机?

Macos 如何将文件从docker虚拟机复制到OSX上的主机?,macos,docker,Macos,Docker,我使用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

我使用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上的vm中运行,我可以通过以下命令进入:

screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
在docker的历史版本中,docker使用docker.qcow2作为vm的映像。Local/Users目录已装入docker vm,因此我可以将文件复制到我的主目录,例如/Users/username/Downloads:

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


如何将文件从vm复制到我的OS X?

可以使用docker cp完成

docker cp <CONTAINER_ID>:<SRC_PATH_ON_CONTAINER> <DEST_PATH_ON_LOCAL_MACHINE>

更多详细信息:

可以使用docker cp完成

docker cp <CONTAINER_ID>:<SRC_PATH_ON_CONTAINER> <DEST_PATH_ON_LOCAL_MACHINE>
更多详细信息:

可能的解决方法:

添加本地目录作为容器的volumebind装载。在docker-compose.yml中,这将类似于:

volumes:
       - wpdb:/var/lib/mysql 
       - ./db:/root 
wpdb是一个docker卷,它位于linux虚拟机内,无法从本地mac目录访问

./db将是绑定装载,可在docker-compose.yml文件所在的目录中访问

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

在上述示例中:

- ./db:/root 
将是一个绑定坐骑

这篇文章可以更清楚地解释:

docker run-v$PWD:/home containername

可能的解决方法:

添加本地目录作为容器的volumebind装载。在docker-compose.yml中,这将类似于:

volumes:
       - wpdb:/var/lib/mysql 
       - ./db:/root 
wpdb是一个docker卷,它位于linux虚拟机内,无法从本地mac目录访问

./db将是绑定装载,可在docker-compose.yml文件所在的目录中访问

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

在上述示例中:

- ./db:/root 
将是一个绑定坐骑

这篇文章可以更清楚地解释:

docker run-v$PWD:/home containername


我不清楚你在问什么,你想把文件从Docker容器复制到Docker主机吗?@lutaoact如果你看这个问题的答案,它应该会提供你需要的所有信息:。询问您是否需要更具体的内容。我不清楚您在问什么,是否要将文件从Docker容器复制到Docker主机?@lutaoact如果您查看此问题的答案,它将为您提供所需的所有信息:。询问您是否需要更具体的信息。对如何使用该命令进行更清楚的解释可能会有助于增加此答案的价值。就目前的情况而言,它更可能被视为一条评论。关于如何使用该命令的更清晰解释可能会有助于增加这个答案的价值。就目前的情况而言,它更可能被视为一种评论。