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

Mar*_*rco 5 docker boot2docker

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

# Create the MongoDB data directory
RUN mkdir -p /data/db
# Identify mount point
VOLUME /data/db
Run Code Online (Sandbox Code Playgroud)

- > 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

Mar*_*rco 7

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

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


小智 5

我遇到了同样的问题.

请参阅: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
Run Code Online (Sandbox Code Playgroud)

你应该好好去:-)