如果您对在共享文件夹上运行Mongo的Boot2Docker感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于在共享文件夹上运行Mongo的Boot2Docker的详细内容,我
如果您对在共享文件夹上运行Mongo的Boot2Docker感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于在共享文件夹上运行Mongo的Boot2Docker的详细内容,我们还将为您解答在Windows上的相关问题,并且为您提供关于Boot2docker / Windows:不能在Ubuntu容器上运行bash、Boot2docker 在 windows 上遇到 “Permission denied” 错误、Boot2docker/Windows:无法在Ubuntu容器上运行bash、boot2docker启动脚本以与主机挂载本地共享文件夹的有价值信息。
本文目录一览:- 在共享文件夹上运行Mongo的Boot2Docker(在Windows上)(不支持此文件系统)(无法在共享文件夹里创建文件)
- Boot2docker / Windows:不能在Ubuntu容器上运行bash
- Boot2docker 在 windows 上遇到 “Permission denied” 错误
- Boot2docker/Windows:无法在Ubuntu容器上运行bash
- boot2docker启动脚本以与主机挂载本地共享文件夹
在共享文件夹上运行Mongo的Boot2Docker(在Windows上)(不支持此文件系统)(无法在共享文件夹里创建文件)
我正在尝试使用Boot2Docker在Windows上使用共享文件夹来启动Mongo容器。开始使用时,run -it -v/c/Users/310145787/Desktop/mongo:/data/db mongo
我在容器内收到一条警告消息,内容为:
WARNING: This file system is not supported.
启动mongo后立即关闭。
有关如何解决此问题的任何提示或技巧?
答案1
小编典典显然,根据要点和Sev(sevastos
),mongo不支持通过VirtualBox共享文件夹安装卷:
参见mongoDB Productions
Notes:
MongoDB需要一个
fsync()
在目录上支持的文件系统。
例如,HGFS和Virtual Box的共享文件夹不支持此操作。所有最简单的解决方案以及数据持久性的正确方法是“
数据量” :假设您有一个具有VOLUME [“
/data
”] 的容器
# Create a data volumedocker create -v /data --name yourData busybox true# and usedocker run --volumes-from yourData ...
这并不总是理想的(但下面的内容适用于Mac,作者:Edward Chu(chuyik
)):
我认为这不是一个好的解决方案,因为数据只是移到了另一个容器上,对不对?
但是它仍然位于容器内,而不是本地系统(mac磁盘)内。我发现了另一个解决方案,即使用sshfs在boot2docker vm和您的mac之间映射数据,这可能会更好,因为数据没有存储在linux容器中。
创建一个目录以在boot2docker内部存储数据:
boot2docker sshmkdir -p /mnt/sda1/dev
使用sshfs链接boot2docker和mac:
echo tcuser | sshfs docker@localhost:/mnt/sda1/dev <your mac dir path> -p 2022 -o password_stdin
运行安装了mongo的映像:
docker run -v /mnt/sda1/dev:/data/db <mongodb-image> mongod
在相应的boot2docker问题指出来泊坞窗问题12590(问题与-
v共享文件夹中的1.6#12590) ,这点工作的周围
使用双斜线 。
使用双斜杠似乎有效。我在本地检查它,它可以工作。
docker run -d -v //c/Users/marco/Desktop/data:/data <image name>
它也适用于
docker run -v /$(pwd):/data
Boot2docker / Windows:不能在Ubuntu容器上运行bash
我正在通过第三章的“Docker Book”来安装和运行一个Ubuntu容器。 我在Windows 7.1上使用Boot2Docker。
下面是我尝试运行它时发生的情况(这是第二次尝试,所以它已经有一个本地图像副本):
$ docker run -i -t ubuntu /bin/bash exec: "C:/Program Files (x86)/Git/bin/bash": stat C:/Program Files (x86)/Git/bin/bash: no such file or directory FATA[0000] Error response from daemon: Cannot start container 5e985b0b101bb9584ea3e40355089a54d1fba29655d5a1e0900c9b32c4f7e4c4: [8] System error: exec: "C:/Program Files (x86)/Git/bin/bash": stat C:/Program Files (x86)/Git/bin/bash: no such file or directory
状态:
$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5e985b0b101b ubuntu:latest "C:/Program Files (x 21 minutes ago loving_mayer
这是抱怨缺乏C:/ Program Files(x86)/ Git / bin / bash,但是我的机器上肯定有这个function:
使用ls命令作为shell脚本的input
为什么这个Bash脚本在机器上运行,但在另一个上失败?
mv命令移动文件但报告错误:不能统计没有这样的文件或目录
使用bashparsingiwlist扫描
如何在具有参数的命令的后台运行命令
$ ls -l "c:/Program Files (x86)/Git/bin/bash" -rwxr-xr-x 1 neilw Administ 598016 May 4 09:27 c:/Program Files (x86)/Git/bin/bash
有什么想法吗?
在update-core之后的MSYS2中找不到一些主要的命令
Bash脚本 – 卸载一个设备,但不会失败,如果它没有安装?
Greprecursion和计数
运行差异,让它停下来的差异
将whatis钩子添加到bash脚本中
这适用于我:
docker run -t -i ubuntu //bin/bash
双//避免转换[1]
[1] http://www.mingw.org/wiki/Posix_path_conversion
我刚刚有同样的问题,但是
docker run -t -i ubuntu
在图像中打开一个shell。
它看起来像你的主机的shell自动扩展/bin/bash到C:/Program Files (x86)/Git/bin/bash之前,它被传递给Docker,这是不正确的,因为显然没有一个C:/Program Files (x86)/Git/bin/bash在Ubuntu容器中。
使用引号是否解决了这个问题? 例如:
docker run -i -t ubuntu "/bin/bash"
Boot2docker 在 windows 上遇到 “Permission denied” 错误
从 https://github.com/boot2docker/windows-installer/releases. 上下载了最新的 docker-install v1.1.2,运行时发生如下错误:
C:\apps\Boot2Docker>bash luog@IKARI:/c/apps/Boot2Docker$ ./start.sh initializing... ./start.sh: line 21: ./boot2docker.exe: Permission denied starting... ./start.sh: line 23: ./boot2docker.exe: Permission denied connecting... ./start.sh: line 25: ./boot2docker.exe: Permission denied如果从非 bash 环境下直接运行发生的错误是:
C:\apps\Boot2Docker>boot2docker.exe Access is denied.
不知道有人遇到过没有,给何解?
Boot2docker/Windows:无法在Ubuntu容器上运行bash
我正在通过“Docker Book”,我在第3章,安装和运行Ubuntu容器.我在Windows 7.1上,使用Boot2Docker.
以下是我尝试运行时发生的情况(这是第二次尝试,因此它已经有了图像的本地副本):
$docker run -i -t ubuntu /bin/bash
exec: "C:/Program Files (x86)/Git/bin/bash": stat C:/Program Files (x86)/Git/bin/bash: no such file or directory
FATA[0000] Error response from daemon: Cannot start container 5e985b0b101bb9584ea3e40355089a54d1fba29655d5a1e0900c9b32c4f7e4c4: [8] System error: exec: "C:/Program Files (x86)/Git/bin/bash": stat C:/Program Files (x86)/Git/bin/bash: no such file or directory
状态:
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5e985b0b101b ubuntu:latest "C:/Program Files (x 21 minutes ago loving_mayer
它抱怨缺少C:/ Program Files(x86)/ Git / bin / bash,但我当然在我的机器上有这个:
$ls -l "c:/Program Files (x86)/Git/bin/bash"
-rwxr-xr-x 1 neilw Administ 598016 May 4 09:27 c:/Program Files (x86)/Git/bin/bash
有什么想法吗?
docker run -t -i ubuntu //bin/bash
双// //避免转换[1]
[1] http://www.mingw.org/wiki/Posix_path_conversion
boot2docker启动脚本以与主机挂载本地共享文件夹
如何解决boot2docker启动脚本以与主机挂载本地共享文件夹?
/var/lib/boot2docker/bootlocal.sh
可能适合您的需求,它将由初始脚本运行 /opt/bootscripts.sh
并将bootscripts.sh
输出结果放入/var/log/bootlocal.log
,请参见下面的部分(boot2docker 1.3.1版本)
# Allow local HD customisation
if [ -e /var/lib/boot2docker/bootlocal.sh ]; then
/var/lib/boot2docker/bootlocal.sh > /var/log/bootlocal.log 2>&1 &
fi
我的一个用例是
我通常将shared
目录放在/c/Users/larry/shared
,然后添加脚本
#/bin/bash
ln -s /c/Users/larry/shared /home/docker/shared
所以每次我都可以~/shared
像在主机中一样在boot2docker中访问
请参阅FAQ.md (由@KCD提供)
解决方法
我在Win7上运行boot2docker 1.3。
我想连接一个共享文件夹。
在VirtualBox Manager中,在图像属性->共享文件夹下,添加了所需的文件夹,并将其命名为“ c /
shared”。选中“自动安装”和“设为永久”复选框。
当boot2docker启动时,它不会被挂载。我必须另外做一件事:
sudo mount -t vboxsf c/shared /c/shared
才能显示出来。由于每次使用docker时都需要它,因此我希望它仅在启动时运行,或者已经存在。因此,我认为是否可以添加一些启动脚本,但是我似乎找不到那个地方。
谢谢
编辑:这让我大叫,这是Mac上Boot2Docker的副本-访问本地文件,这是一个不同的问题。我想安装一个不是默认值的文件夹,例如OSX上的/User或Windows上的/ c / Users。我专门要求启动脚本。
关于在共享文件夹上运行Mongo的Boot2Docker和在Windows上的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Boot2docker / Windows:不能在Ubuntu容器上运行bash、Boot2docker 在 windows 上遇到 “Permission denied” 错误、Boot2docker/Windows:无法在Ubuntu容器上运行bash、boot2docker启动脚本以与主机挂载本地共享文件夹等相关内容,可以在本站寻找。
本文标签: