繁体   English   中英

Boot2Docker挂载主机卷以使用Windows外部化数据

[英]Boot2Docker mount host volume to externalize data using Windows

我正在尝试将主机卷安装到MongoDB的Docker容器中。 Dockerfile包含以下内容。

# Create the MongoDB data directory
RUN mkdir -p /data/db
# Identify mount point
VOLUME /data/db

- > docker镜像名为mongo。

但是当我尝试使用以下命令启动映像并安装本地Windows文件夹时:

docker run -d -v / c / Users / 310145787 / Desktop / mongo:/ data / db mongo

我收到一条错误消息:

标志-v:\\ Users \\ 310145787 \\ Desktop \\ mongo; C:\\ Program Files(x86)的值无效“c:\\ Users \\ 310145787 \\ Desktop \\ mongo; C:\\ Program Files(x86)\\ Git \\ data \\ db” )\\ Git \\ data \\ db不是绝对路径

如果路径可以访问,我检查了boot2docker ssh ,似乎没问题。 docker@boot2docker:/c/Users/310145787/Desktop/mongo

有什么问题在这里出了什么问题? 或者我错过了什么?

使用Boot2Docker 1.6, 可以在这里找到Dockerfile

我被指出了一个解决方法。 而不是使用单斜杠/ c / Users /使用双斜线工程// c / Users /

我查了一下,现在卷的安装工作正常!

我遇到了同样的问题。

请参阅: https//github.com/docker/docker/issues/12590

如果你在windows上使用git bash,msysgit会将/ c / users之类的路径转换为c:\\ users(不是你想要的东西,因为boot2docker VM里面的路径是/ c / Users)

如果您使用cmd.exe或powershell,则不应该遇到此问题。

我使用cmd后成功安装了驱动器。

以下说明适用于使用windows cmd启动Boot2Docker

Boot2Docker Up
set DOCKER_HOST=tcp://192.168.59.103:2376
set DOCKER_CERT_PATH=C:/Users/<yourusername>/.boot2docker/certs/boot2docker-vm
set DOCKER_TLS_VERIFY=1

docker run -d -v /c/Users/310145787/Desktop/mongo:/data/db mongo

你应该好好去:-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM