我刚刚开始学习Docker,我正试图在Windows上使用boot2docker进行简单的设置.我无法在任何教程或在线示例中找到如何使我的项目文件可供boot2docker VM访问.
我下载了boot2docker,并成功安装并启动并运行.我也可以进入它并运行hello world docker示例,所以我知道我在VM中安装了一个Docker.
现在,问题是:如何Dockerfile
在boot2docker VM上获取我和我的应用程序文件,以便构建Docker容器?
换句话说,我正在尝试从boot2docker VM执行此操作:
$ cd /some-directory-from-my-host-os $ docker build .
我尝试按照https://github.com/boot2docker/boot2docker#folder-sharing上的说明设置SAMBA共享,我可以成功地从Windows连接到共享,\\192.168.59.103\data
但这并没有告诉我如何访问它boot2docker VM中的目录.
我觉得答案可能是显而易见的,但我确信我不是唯一会碰到那堵墙的人.谢谢你的帮助!
从boot2docker 1.3开始,添加了挂载共享文件夹的功能,因此VM可以直接共享您的dev文件夹.更多信息请访问:https://github.com/boot2docker/boot2docker#virtualbox-guest-additions
不确定它是否有助于Windows下.但对于Mac,请看:
boot2docker与VirtualBox Guest Additions一起
如何将/ Users挂载到boot2docker
https://medium.com/boot2docker-lightweight-linux-for-docker/boot2docker-together-with-virtualbox-guest-additions-da1e3ab2465c
tl; dr使用VirtualBox Guest Additions构建您自己的自定义boot2docker.iso(请参阅链接)或下载 http://static.dockerfiles.io/boot2docker-v1.0.1-virtualbox-guest-additions-v4.3.12.iso 并保存到〜/ .boot2docker/boot2docker.iso.
恕我直言,最好的方法是使用scp.您可以使用winscp将Dockerfile发送到VM.
根据您当前的进度,并假设您的samba容器正在运行,您可以通过运行以下命令找到Boot2docker VM上/ data文件夹的路径:
$ docker inspect <samba_container_id>
这将列出容器配置详细信息.在最底部附近你应该看到:
"卷":{
"/data": "/mnt/sda1/var/lib/docker/vfs/dir/<long_id_here>
这是你的boot2docker vm /数据路径.只需cd进入该文件夹即可
$ cd /mnt/sda1/var/lib/docker/vfs/dir/<long_id_here>
从Windows资源管理器中,导航到:
\\192.168.59.103\data
现在您可以将某些文件粘贴/复制/创建到该数据文件夹中,您应该看到它们在路径上的Boot2docker VM上填充: /mnt/sda1/var/lib/docker/vfs/dir/<long_folder_id_here>