在docker中连接mongodb

我正在尝试从控制台应用程序(Visual Studio C#)连接到在 docker 容器中运行的 mongodb,但无法完成。运行我的应用程序时我没有收到任何错误,但是当我检查 docker 容器内的 mongodb 时,它没有显示我的应用程序的任何插入文档。


这是我尝试连接到我的 mongodb 的代码片段:


var client = new MongoClient("mongodb://127.0.0.1:27017");

var db = client.GetDatabase("test");

var collection = db.GetCollection<BsonDocument>("testColl");


var document = new BsonDocument {

    {"Name", "h" },

    {"Dep", "ADI" }

};

我认为在我的 docker Container 中创建 mongodb 时我做错了。我只是提取了 mongo 的最新图像,然后执行以下操作: docker run --name myMongoTestDb -d mongo


慕桂英4014372
浏览 332回答 2
2回答

斯蒂芬大帝

这里有几件事可能是一个问题:1) 确保在创建文档后调用集合上的 Insertcollection.Insert(document)2)确保您使用-p参数从容器中将 27017 端口暴露给您的本地主机docker&nbsp;run&nbsp;--name&nbsp;myMongoTestDb&nbsp;-p&nbsp;27017:27017&nbsp;-d&nbsp;mongo更多阅读:暴露端口 -&nbsp;https://github.com/wsargent/docker-cheat-sheet#exposing-ports&nbsp;使用 C# 插入文档 -&nbsp;https://mongodb-documentation.readthedocs.io/en/latest/ecosystem/tutorial/getting-started -with-csharp-driver.html#insert-a-document

缥缈止盈

您还应该公开 27017 端口。尝试docker run --name myMongoTestDb -p 27017:27017 -d mongo
打开App,查看更多内容
随时随地看视频慕课网APP