docker启动mongo

docker启动mongo

[root@vm ~]# docker run -id  --name mongo -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 mongo:5.0 --auth

[root@vm ~]# docker exec -it mongo bash
root@652a263c6ec1:/# mongosh
test> use admin
switched to db admin
admin> show dbs   #需要认证
MongoServerError: command listDatabases requires authentication
admin> db.auth('admin','123456')   #认证
{ ok: 1 }
admin> show dbs #查看db
admin   100.00 KiB
config   12.00 KiB
local    40.00 KiB
admin> use testdb  #使用db,不存在会自动创建
switched to db testdb
testdb> db.testdb.insert({"name":"dachui"})  #插入数据
DeprecationWarning: Collection.insert() is deprecated. Use insertOne, insertMany, or bulkWrite.
{
  acknowledged: true,
  insertedIds: { '0': ObjectId('65b891d4a0fd3827c2ebc080') }
}
testdb> db  #查看当前db
testdb

docker-composeq启动

[root@vm mayfly-go-linux-amd64]# cat docker-compose.yaml
version: "3"
services:
  mongodb:
    image: mongo:5.0
    container_name: mongo
    restart: always
    ports:
      - 27017:27017
    #volumes:
    #  - ./data/mongodb:/data/db
    #  - ./logs/mongodb:/var/log/mongodb
    command: --auth
    environment:
      - MONGO_INITDB_ROOT_USERNAME=admin
      - MONGO_INITDB_ROOT_PASSWORD=123456
      #下面的三个参数似乎无效,
      - MONGO_INITDB_DATABASE=testdb   #show dbs 看不到testdb
      - MONGO_USERNAME=test  #db.system.users.find() 查不到test
      - MONGO_PASSWORD=test123

用户查看及创建

[root@vm mayfly-go-linux-amd64]# docker-compose up -d
[root@vm mayfly-go-linux-amd64]# docker exec -it mongo bash
test> use admin
switched to db admin
admin> db.auth('admin','123456')
{ ok: 1 }
admin> db.system.users.find() #只有admin用户
admin> use testdb
switched to db testdb
testdb> db.createUser({user: "test",pwd: "test123",roles: [ { role: "readWrite", db: "testdb" } ]})
{ ok: 1 }

testdb> use admin
switched to db admin
admin> db.createUser({user: "test",pwd: "test123",roles: [ { role: "readWrite", db: "testdb" } ]})
{ ok: 1 }
admin> db.system.users.find()

{
    _id: 'testdb.test', #testdb里的test
    userId: UUID('46d728e5-883b-4df4-be06-8d642b33eb9d'),
    user: 'test',
    db: 'testdb',
    credentials: {
      'SCRAM-SHA-1': {
        iterationCount: 10000,
        salt: 'U885TkJB38twoPnV8OtBDA==',
        storedKey: 'crRdOT3rTwNgX3cQqgmM8rXBoVI=',
        serverKey: '0nkJ0Wgu5LM/YFxKpYeQ1lZ2HYc='
      },
      'SCRAM-SHA-256': {
        iterationCount: 15000,
        salt: 'zxDd8GeBRWONwSNZ1rlGWAfnk27Suyn0p9BYig==',
        storedKey: 'y5W7CizViHML4mDzYmRE8heo5RfVvcj2JZ+qGJ/VidQ=',
        serverKey: 'yv5K4iGSslSI+1xNKxIPZB98dZGHEOYR5lmxQDDMK/I='
      }
    },
    roles: [ { role: 'readWrite', db: 'testdb' } ]
  },
  {
    _id: 'admin.test', #admin里的test
    userId: UUID('2fece50b-5616-4329-b0e9-d912670413e2'),
    user: 'test',
    db: 'admin',
    credentials: {
      'SCRAM-SHA-1': {
        iterationCount: 10000,
        salt: 'O9pYoYjimlw5tI/HdKFZ0Q==',
        storedKey: '99ocLZyrkUMb7d1OFDAwfqJDIow=',
        serverKey: 'pXGwLs+hSph1IA2jE/ceeYHd2nc='
      },
      'SCRAM-SHA-256': {
        iterationCount: 15000,
        salt: 'K0Kf8+5pQ5CWppnz3pPPE06FcUR+2VTFfepRWA==',
        storedKey: 'M1+zeEJrYJd07WvsxviY56vWQ0vf7J3GuxMoGpLWP6A=',
        serverKey: '219+NHIcxc7YNB4pi0XDvr3FJiQUHtUhXarUNjuDTrI='
      }
    },
    roles: [ { role: 'readWrite', db: 'testdb' } ]
  }

使用参考

https://blog.csdn.net/weixin_38316697/article/details/126085968

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要使用 Docker 搭建 MongoDB,可以按照以下步骤操作: 1. 首先,在 Docker 上搜索 MongoDB 的官方镜像。可以使用以下命令在 Docker Hub 上搜索镜像: ``` docker search mongo ``` 2. 找到官方的 MongoDB 镜像,使用以下命令从 Docker Hub 上拉取镜像: ``` docker pull mongo ``` 3. 创建一个 MongoDB 的容器,使用以下命令: ``` docker run --name mongodb -p 27017:27017 -d mongo ``` 这个命令会创建一个名为 mongodb 的容器,并将它映射到主机的 27017 端口上。容器会在后台运行。 4. 可以使用以下命令检查容器是否正在运行: ``` docker ps ``` 如果看到 mongodb 容器正在运行,那么说明容器已经成功启动了。 5. 可以使用以下命令连接到 MongoDB 容器: ``` docker exec -it mongodb bash ``` 6. 进入容器后,可以使用以下命令连接到 MongoDB 数据库: ``` mongo ``` 如果连接成功,会看到 MongoDB 的 shell 提示符。 现在已经成功使用 Docker 搭建了 MongoDB,可以在容器中使用 MongoDB 进行开发和测试。 ### 回答2: 要搭建MongoDB的Docker容器,首先需要确保已经安装并配置好了Docker。以下是搭建MongoDB Docker容器的步骤: 1. 打开终端或命令提示符,并输入以下命令来下载MongoDB Docker镜像: ``` docker pull mongo ``` 2. 安装完成后,可以使用以下命令来创建和启动MongoDB容器: ``` docker run --name mymongo -p 27017:27017 -d mongo ``` 其中,`mymongo`是你给容器起的名字,`27017`是MongoDB默认的端口号。 3. 使用以下命令来检查容器是否正常运行: ``` docker ps ``` 如果看到了`mongo`容器正在运行,表示成功搭建MongoDB Docker容器。 4. 要连接到MongoDB容器并使用其实例,可以使用以下命令: ``` docker exec -it mymongo mongo ``` 其中,`mymongo`是你给容器起的名字。这会启动MongoDB的命令行 Shell。 以上就是使用Docker搭建MongoDB的简单步骤,通过这种方式,你可以轻松地创建和管理MongoDB容器,以便于开发和测试。 ### 回答3: 要使用Docker搭建Mongo数据库,我们可以按照以下步骤进行操作: 第一步,安装DockerDocker Compose。Docker是一种容器化平台,可以轻松地创建和管理容器。Docker Compose是一个用于定义和运行多个容器的工具。 第二步,创建一个Docker Compose文件。Docker Compose文件是一个YAML格式的文件,用于定义和配置应用程序的各个服务。在这个文件中,我们需要定义Mongo容器的配置信息,例如版本、映射端口、数据存储位置等。 第三步,运行Docker Compose。使用命令行工具进入到存放Docker Compose文件的目录,然后运行以下命令: ``` docker-compose up -d ``` 这个命令会根据Docker Compose文件的配置信息,创建并运行Mongo容器。通过选项“-d”,容器将在后台运行。 第四步,验证Mongo容器是否成功搭建。可以使用以下命令查看容器的运行状态: ``` docker ps ``` 如果看到Mongo容器的状态为“Up”,说明搭建成功。 第五步,连接到Mongo容器。可以使用Mongo客户端工具,例如MongoDB Compass或命令行工具mongo,连接到Mongo容器。 ``` mongo localhost:27017 ``` 在连接成功后,你可以开始使用Mongo数据库进行数据操作了。 总结起来,使用Docker搭建Mongo数据库非常简单,只需安装DockerDocker Compose,创建Docker Compose文件,并运行即可。这种方式可以让我们快速搭建开发和测试环境,并提供了隔离和便携性的好处。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值