挂载Windows驱动器以从Docker访问

时间:2017-02-19 11:17:29

标签: windows docker

我希望在Docker容器中使用Windows计算机上的文件。这is explained here

我的问题涉及如何进入Docker设置对话框。

我在Windows 10上使用Docker Toolbox。当我右键单击任务栏中的Docker图标时,我有三个选项:

  1. Docker快速入门终端;
  2. 从任务栏取消固定;和
  3. 关上窗户。
  4. 我没有得到设置对话框。我怎么能看到那个选项?

2 个答案:

答案 0 :(得分:3)

Docker toolbox would be using VirtualBox
您所指的答案可能会Docker for WindowsHyper-V一起使用:请参阅“Install Docker for Windows

  

适用于Windows的Docker需要运行Microsoft Hyper-V。启用Hyper-V后,VirtualBox将不再起作用,但任何VirtualBox VM映像都将保留   使用docker-machine创建的VirtualBox VM(包括通常在Toolbox安装期间创建的默认VM)将不再启动。这些VM不能与Docker for Windows并排使用。但是,您仍然可以使用docker-machine来管理远程VM。

答案 1 :(得分:2)

安装适用于Windows的Docker:

  • Docker不能在Windows上本机运行。

  • 如果操作系统不是Windows 10专业版,则可以通过Docker Toolbox设置Docker。

  • 通过Docker Toolbox安装Docker后,请按照以下步骤操作:

第1步: 单击Windows上的“Docker Quickstart Terminal”以启动。这将启动一个Docker机器 - 一个名为“default”的虚拟机,通过Oracle VirtualBox

第2步: 在Windows上打开命令提示符窗口。由于步骤1创建了Docker机器,我们可以从cmd发出docker-machine命令。命令docker-machine ls将列出正在运行的虚拟机及其名称(默认)。请注意,您可以使用docker-machine create --driver drivername vmname命令从cmd创建所需数量的虚拟机。

第3步:运行docker客户端 Docker客户端在特定虚拟机上运行。这意味着我们需要告诉客户端Docker主机的位置(Oracle VirtualBox - 而不是Windows笔记本电脑)以及要定位的虚拟机。以下内容有助于简化目标特定虚拟机。

C:\Users\B> docker-machine env --shell cmd default

SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\B\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
SET COMPOSE_CONVERT_WINDOWS_PATHS=true
REM Run this command to configure your shell:
REM     @FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

If you just run the following on cmd:
@FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

将设置所有上述环境变量。然后,我们可以从cmd发出针对“默认”Docker虚拟机的客户端(Docker)命令。

第4步: 现在,我们希望将Windows文件夹提供给名为“default”的Docker虚拟机,以便在该虚拟机上运行的容器(或多个容器)可以使用此文件夹上的数据。

转到笔记本电脑上运行的VirtualBox。找到虚拟机“默认”并选择设置(这是我在原始问题中要求的)并共享Windows文件夹/c/Users

[注意:如果Docker已经直接安装在Windows(10 pro)上,右键单击系统托盘中的Docker图标,通常可以使用此设置对话选项。]

现在从cmd发出命令:

docker run -it --name suorsa -v /c/Users:/datavol ImageName:latest

文件夹/c/Users现在可供访问,如/datavol中的容器一样。