yuy*_*007 31 docker boot2docker
我已经在Windows上准备好了我的代码,但我发现分享给boot2docker并不容易.
我还发现boot2docker无法持久化我的更改.例如,我/temp在重新启动boot2docker后创建了一个文件夹.此文件夹消失,非常不方便.
当你在Windows上有一些代码时,你的方式是什么,但你需要将它们停靠?
---更新---
我尝试更新VirtualBox中的设置并重新启动boot2docker,但它不能在我的机器上运行.

docker@boot2docker:/$ ls -al /c total 4 drwxr-xr-x 3 root root 60 Jun 17 05:42 ./ drwxrwxr-x 17 root root 400 Jun 17 05:42 ../ dr-xr-xr-x 1 docker staff 4096 Jun 16 09:47 Users/
Tho*_*rig 63
Boot2Docker是一个在VirtualBox上运行的小型Linux VM.因此,在您使用Docker(在此VM中运行)中的文件(来自Windows)之前,必须首先与Boot2Docker VM本身共享您的代码.
为此,您将 Windows文件夹在关闭时挂载到VM(此处default假定VM名称为):
C:/Program Files/Oracle/VirtualBox/VBoxManage sharedfolder \
add default -name win_share -hostpath c:/work
Run Code Online (Sandbox Code Playgroud)
(或者您也可以打开VirtualBox UI并将文件夹挂载到VM中,就像在屏幕截图中一样!)
现在ssh进入Docker Quickstart终端的Boot2Docker VM:
docker-machine ssh default
然后执行mount:
sudo mkdir /VM_sharesudo mount -t vboxsf win_share /VM_share之后,您可以访问C:/workBoot2Docker VM:
cd /VM_share
Run Code Online (Sandbox Code Playgroud)
现在您的代码存在于VM中,您可以将它与Docker一起使用,方法是将其作为卷安装到容器中:
docker-machine ssh default
docker run --volume /VM_share:/folder/in/container some/image
Run Code Online (Sandbox Code Playgroud)
或者在构建Docker镜像时使用它:
...
ADD /my_windows_folder /folder
...
Run Code Online (Sandbox Code Playgroud)
看到这个答案.
我有Windows 10家庭版与Docker工具箱1.12.2和VirtualBox 5.1.6.
我能够C:\Users在我的容器中成功安装一个文件夹,而无需执行任何额外的步骤,例如docker-machine ssh default.
例:
docker run -it --rm -v /c/Users/antonyj/Documents/code:/mnt ubuntu /bin/bash
Run Code Online (Sandbox Code Playgroud)
所以让你的文件C:\Users可能是最简单的事情.
如果您不想将文件置于其下C:\Users,则必须按照接受的答案中的步骤操作.
| 归档时间: |
|
| 查看次数: |
24443 次 |
| 最近记录: |