我正在使用Docker+MongoDB运行个人项目(我正在学习教程(。昨天它运行得很完美,但我今天不得不重新启动电脑。
现在我起不来了&再次运行。我总是有错误(根据日志(:编辑:当我尝试在本地运行它时也会发生同样的错误(如果我可以运行任何查询,只需编译并检查Postman(。这是相同的错误消息。编辑2:运行后:
docker run-d--rm--name mongo-p 27017:27017-v mongodbdata:/data/dbmongo
我让它在本地工作。然而,我仍然无法使用docker映像运行它。
Microsoft.AspNetCore.Server.Kestrel[13]连接id";0HML25FGS5AM1";,请求id";0HML25FGS5AM1:00000002〃:由引发了未处理的异常应用System.TimeoutException:使用CompositeServerSelector{Selectors选择服务器30000ms后发生超时=MongoDB驱动程序.MongoClient+AreSessionsSupportedServerSelector,LatencyLimitingServerSelector{AllowedLatencyRange=00:00:00.0150000},OperationsCountServerSelector}。群集状态的客户端视图为{ClusterId:";1〃;,类型:";"未知";,状态:";"断开";,服务器:[{ServerId:"{ClusterId:1,EndPoint:"Unspecified/mongo:27017"];}&";,终点:";未指定的/mongo:27017";,更改原因:;心跳";,状态:";"断开";,服务器版本:,拓扑版本:,类型:"未知";,心跳异常:"MongoDB驱动程序.MongoConnectionException:在打开与服务器的连接。
我可以告诉你:
- MongoDB正在运行。在使用Mongo扩展的Visual Studio上,我可以看到我的Mongo数据库已经连接好了
- 当我打开docker for windows时,我也可以在那里看到我的图像。如果我把鼠标悬停在通知托盘上的docker图标下,它会显示docker正在运行
- 我的连接字符串似乎正常。我想不出有什么问题,因为昨天也一样
我有点迷路了,我不知道还能做什么。因为这个docker错误,重新启动整个教程真的很痛苦。
这是我的连接字符串:
$"mongodb://{User}:{Password}@{Host}:{Port}";
我在cli下运行docker映像的命令是:
docker run-it--rm-p 8080:80-e MongoDB设置:主机=mongo-eMongoDbSettings:Password=Pass#word1--network=net5tutorialpablobhz/目录:v1
欢迎提供任何意见。非常感谢!
好吧,我自己解决了这个问题。以下是我所做的:
- 遵循用户barrypicker的建议。它没有成功,但给了我一个干净的开始
- 创建了一个新的docker文件,并对其进行了相应的更改(仅做了微小的更改(
- 再次创建mongodb容器。以下是我所做的:
docker run-d--rm--name mongo-p 27017:27017-v mongodbdata:/data/db mongo
很好。现在我让mongo容器再次运行。
- 再次构建我的docker镜像:
li>尝试再次创建docker网络。由于它已经存在,刚刚收到一条消息说它存在。到目前为止还不错docker build -t catalog:v1 .
docker run-d--rm--name mongo-p 27017:27017-v mongodbdata:/data/db/e MONGO_INITDB_ROOT_USERNAME=monoadmin-eMONGO_INITDB_ROOT_PASSWORD=通过#word1-network=net5tutorial MONGO
- 再次启动主容器:
docker run--it--rm-p 8080:80-e MongoDB设置:主机=mongo-eMongoDB设置:密码=通过#word1--network=net5教程目录:v1
希望这能在未来帮助到别人!很抱歉,解释不太好,这是我第一次使用Docker,为了让它发挥作用,我经历了很多尝试和错误。
谢谢大家!