我这是什么情况?

来源:2-3 【动动手】一行命令在Docker中运行MongoDB

慕虎1400877

2022-10-17

图片描述

写回答

1回答

好帮手慕小蓝

2025-02-13

错误信息表明您在尝试使用 Docker 运行 MongoDB 容器时遇到了一个问题,具体是在尝试将主机上的目录挂载到容器中时出现了问题。Docker 要求卷(即 Docker 容器中的目录映射)的名称只能包含字母、数字、下划线和点,并且必须以字母或数字开头。

错误信息如下:

docker: Error response from daemon: create Users/lishijiao/mymongo/data: "Users/lishijiao/mymongo/data" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9._-]" are allowed. If you intended to pass a host directory, use absolute path.

解决这个问题的方法是使用绝对路径而不是相对路径。在 macOS 上,您可以使用 /Users/ 目录的绝对路径。请尝试以下命令:

sh复制

docker run --name mymongo -v /Users/lishijiao/mymongo/data:/data/db -d mongo:latest

这条命令将主机上的 /Users/lishijiao/mymongo/data 目录映射到容器的 /data/db 目录。这样,Docker 容器中的 MongoDB 实例将使用这个目录来存储数据。

如果您希望容器使用默认的数据目录,可以不指定卷映射,直接运行:

sh复制

docker run --name mymongo -d mongo:latest

这将在容器内使用默认的 /data/db 目录来存储数据。如果您希望持久化数据,请确保使用正确的卷映射。


0
0

玩转MongoDB4.0(最新版) 从入门到实践

30%理论+70%实战,用实操检验真理,一门让你事半功倍的入门进阶课

1138 学习 · 197 问题

查看课程