Mongodb和Docker
#database #docker #cli #mongodb

我正在解释如何利用Docker来设置数据库并演示其实际应用程序。在本文中,我重点介绍使用MongoDB数据库并提供有关其利用率的说明。

使用Docker设置MongoDB有几个好处,而不是直接在本地PC上安装它:

  • Isolation:Docker将MongoDB与您的本地系统分开,确保稳定性和一致性。

  • Deployment:Docker使部署多个MongoDB实例并管理副本集或集群。

  • Consistency:docker确保在不同机器上保持一致的环境,避免版本或配置冲突。

  • Cleanup and Portability:docker允许轻松拆除mongodb容器并无缝迁移到不同的环境。

  • Dependency Management:Docker简化了管理MongoDB版本和依赖项。

我准备帮助您在Docker容器中安装MongoDB。让我们开始!

在Docker中安装Mongo

docker pull mongo

要确定MongoDB是否安装在我们的Docker环境中,我们需要检查是否存在Mongo图像。如果找到图像,我们可以查看其ID,标签/版本和大小。但是,如果图像不可用,则不会显示任何信息。

docker images mongo

运行第一个mongodb容器:

docker run -d --name mongo-one -p 27017:27017 mongo

运行第二个MongoDB容器:
如果需要多个容器,则可以使用它

docker run -d --name mongo-two -p 27018:27017 mongo

在上面的示例中,容器是Mongo-One和Mongo-Two,以及-P选项映射端口27017/27018从主机机器到容器。您可以根据需要选择其他容器名称和端口映射。

显示当前运行的所有Docker容器

docker ps

执行运行的Docker容器:Mongo-One

docker exec -it mongo-one bash

执行Mongo的运行Docker容器后,我们必须启动MongoDB Shell并与在容器内运行的MongoDB数据库进行交互

mongosh

成功执行了MongoDB容器后,您将获得数据库URL,可以与Node.js,Python,Rust,Go等各种编程语言一起使用。该URL将使您能够从所选的编程环境中建立与MongoDB数据库的连接。

const DB_URL1='mongodb://localhost:27017/<db_name>';
const DB_URL2='mongodb://localhost:27018/<db_name>';

db_url1和db_url2都是数据库URL,在运行MongoDB的Docker容器时可以获得。如果执行如上所述执行的“ Mongo-One”和“ Mongo-Two”容器,则DB_URL1和DB_URL2都将运行,可用于建立与相应的MongoDB数据库的连接。

数据库启动并运行后,我可以通过Docker Shell共享一组命令与MongoDB进行交互。这些命令使我们能够执行各种操作并操纵Docker环境中的MongoDB数据库

显示所有数据库

show dbs

如果您发现自己感到困惑或不确定如何进行。

help

切换到store数据库

use store

获取当前选择的数据库中存在的所有集合

show collections

在商店中创建多个水果

db.fruit.insertMany([
{name:"apple", price: 250, color: "red"}, 
{name:"banana", price: 120, color: "yellow"},
{name:"papaya", price: 150, color: "yellowish-orange"}
])

获得所有水果

db.fruit.find()

获取name含有banana的所有水果

db.fruit.find({name: "banana"})

获得name的单一水果

db.fruit.findOne({name: "banana"})

根据匹配名称更新单个文档

db.fruit.findOneAndUpdate(
   { name: "banana" },
   { $set: { price : 100 } },
)

资源

谢谢。
记住要继续学习和探索新事物。