Docker部署MongoDB 5.0.5

这篇具有很好参考价值的文章主要介绍了Docker部署MongoDB 5.0.5。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、查看目录

root@wielun:~# tree mongo
mongo
├── conf
│   └── mongod.conf
├── data
├── docker-compose.yml
└── log

root@wielun:~# cd mongo
root@wielun:~/mongo# chown 999.999 log     # 或者直接给目录777权限:chmod 777 log

2、配置docker-compose.yml

root@wielun:~/mongo# cat docker-compose.yml
version: '3'
services:
  mongo:
    image: mongo:5.0.5
    privileged: true
    restart: always
    container_name: mongo
    hostname: mongo
    environment:
      TZ: Asia/Shanghai
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: admin
    ports:
      - 27017:27017
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./conf/mongod.conf:/etc/mongod.conf
      - ./log:/var/log/mongodb
      - ./data:/data/db
    command: mongod --config /etc/mongod.conf

3、配置mongod.conf

root@wielun:~/mongo# cat conf/mongod.conf
# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /data/db
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0


# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

#security:
  #authorization: enabled

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

4、配置mongo


root@wielun:~/mongo# docker-compose up -d
root@wielun:~/mongo# docker exec -it mongo /bin/bash
root@mongo:/# ps -ef   #默认添加了--auth,代表需要账号密码登录
UID          PID    PPID  C STIME TTY          TIME CMD
mongodb        1       0  4 12:45 ?        00:00:00 mongod --config /etc/mongod.conf --auth

root@mongo:/# mongo -u admin -p
MongoDB shell version v5.0.5
Enter password:
...
---
> db.version()
5.0.5
> use admin
switched to db admin
> db.auth("admin","admin")
1
> show users
{
        "_id" : "admin.admin",
        "userId" : UUID("c5e91caa-4e50-445b-9537-c7066313b52b"),
        "user" : "admin",
        "db" : "admin",
        "roles" : [
                {
                        "role" : "root",
                        "db" : "admin"
                }
        ],
        "mechanisms" : [
                "SCRAM-SHA-1",
                "SCRAM-SHA-256"
        ]
}

> db.createUser({user:'root',pwd:'root',
... roles:[
... {
... "role" : "clusterAdmin",
... "db" : "admin"
... },
... {
... "role" : "readAnyDatabase",
... "db" : "admin"
... },
... {
... "role" : "readWrite",
... "db" : "test"
... }
... ]});
Successfully added user: {
        "user" : "root",
        "roles" : [
                {
                        "role" : "clusterAdmin",
                        "db" : "admin"
                },
                {
                        "role" : "readAnyDatabase",
                        "db" : "admin"
                },
                {
                        "role" : "readWrite",
                        "db" : "test"
                }
        ]
}
> db.auth("root","root")
1
> db.test.insert({ item: "wielun"})
WriteResult({ "nInserted" : 1 })

创建用户:

db.createUser({user:'root',pwd:'root',
roles:[
	{
		"role" : "clusterAdmin",
		"db" : "admin"
	},
	{
		"role" : "readAnyDatabase",
		"db" : "admin"
	},
	{
		"role" : "readWrite",
		"db" : "test"
	}
]});

5、查看结果

这里使用的MongoDB Compass进行连接

Docker部署MongoDB 5.0.5,运维,docker,容器,mongo,mongodb
Docker部署MongoDB 5.0.5,运维,docker,容器,mongo,mongodb

6、更新

创建一个wielun库

use admin;

db.updateUser("root", {"roles": [
    {"role": "clusterAdmin", db: "admin"}, 
    {"role": "readAnyDatabase", db: "admin"},
    {"role": "readWrite", db: "test"}, 
    {"role": "readWrite", db: "wielun"}
]});

7、删除

use wielun;
db.dropDatabase() 

8、通过eval创建数据库

Docker容器中执行文章来源地址https://www.toymoban.com/news/detail-669136.html

# 创建一个账号为wielun,密码为123456,数据库:test
# mongo -u admin -p admin --eval "db.createUser({user: 'wielun', pwd: '123456', roles: [{role: 'readWrite', db: 'test'}]});"

# 更新admin账户,并创建一个test数据库
# mongo -u admin -p admin --eval "db = db.getSiblingDB('admin');db.updateUser('root', {roles: [{role: 'root', db: 'admin'},{role: 'readWrite', db: 'test'}]})"

到了这里,关于Docker部署MongoDB 5.0.5的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用 docker 一键部署 MongoDB

    目录 1. 前期准备 2. 导入镜像 3. 部署MongoDB脚本 4. 配置模板文件 5. 部署MongoDB 6. 部署后配置 7. 基本维护 新部署前可以从仓库(repository)下载 MongoDB 镜像,或者从已有部署中的镜像生成文件: 生成 MongoDB 副本集所需的 autokey 文件: mongodb-deploy.sh 文件内容如下: mongodb.conf.tem

    2024年02月14日
    浏览(79)
  • Docker 部署 MongoDB 数据库

    https://www.mongodb.com/zh-cn 缩主机上创建 mongo/configdb/mongod.conf https://hub.docker.com/_/mongo 指定服务执行器与缓存大小 https://hub.docker.com/_/mongo-express 查看默认登录账号密码 注意: 默认登录账号密码是 admin/pass ,docker配置中已经将登录账号密码设置为 admin/123456 http://localhost:8081/ http:/

    2024年04月27日
    浏览(36)
  • docker compose部署MongoDB教程

    在本教程中,我们将使用Docker Compose来部署MongoDB数据库,包括配置时区、数据库名、端口、用户密码等信息,同时挂载数据、日志、配置文件等相关路径到宿主机,以方便管理。 首先需要在目标机器上安装Docker和Docker Compose。如果你已经安装过了,可以跳过这一步。 请参考

    2024年02月16日
    浏览(37)
  • Docker部署MongoDB 5.0.5

    1、查看目录 2、配置docker-compose.yml 3、配置mongod.conf 4、配置mongo 创建用户: 5、查看结果 这里使用的MongoDB Compass进行连接 6、更新 创建一个wielun库 7、删除 8、通过eval创建数据库 Docker容器中执行

    2024年02月11日
    浏览(29)
  • [Docker]四.Docker部署nodejs项目,部署Mysql,部署Redis,部署Mongodb

    可以到 https://hub.docker.com/ 去搜索node镜像 , 然后下载,也可以直接通过docker pull node下载镜像,然后用这个node镜像启动容器node,这样系统就集成了node服务了,在这里挂载www/node目录到容器中,并指定端口映射,运行nodejs程序,安装npm,以及对应的依赖,启动node目录下对应的项目,然后通过浏

    2024年02月06日
    浏览(60)
  • Docker Compose部署Mongodb教程-单机

    目录 一、拉取Mongodb镜像 1.1 使用docker命令拉取Mongodb镜像 二、创建docker-compose.yml文件 2.1 创建mongodb目录 2.2 创建yml相关文件 三、编写配置文件 四、启动Mongodb 五、安全验证 5.1  开启安全验证 5.2 设置用户账号权限 5.3 验证权限   Docker Compose 是一个用于定义和运行多容器 Dock

    2024年04月17日
    浏览(35)
  • 使用 Docker 部署高可用 MongoDB 分片集群

    mongodb 集群搭建的方式有三种: 主从备份(Master - Slave)模式,或者叫主从复制模式。 副本集(Replica Set)模式。 分片(Sharding)模式。 其中,第一种方式基本没什么意义,官方也不推荐这种方式搭建。另外两种分别就是副本集和分片的方式。今天介绍副本集的方式搭建 mo

    2024年02月06日
    浏览(47)
  • Docker安装常用的容器,包括MySQL,Redis,RabbitMQ,MongoDB,FDFS等

    首先安装docker 依赖库 添加docker ce的软件源信息,自行选择,可添加可不添加,如果不是阿里云或者腾讯云的,请还是添加一下吧 安装docker docker -v --查看docker版本 docker images --查看当前docker运行 sudo systemctl start docker --启动docker 在虚拟机里边 docker images --有时候权限不足 我们

    2024年02月11日
    浏览(63)
  • window10 使用docker 本地安装部署mongodb数据库

    一、window10 安装docker 可以参看笨鸟教程【Windows Docker 安装】 安装完后的Docker Desktop是这个样子: 原始的docker镜像拉取仓库速度较慢,为了方便docker拉取镜像,可以设置国内的加速镜像,如:阿里 云、有道等【镜像加速】: 二、docker下载运行mongodb镜像 1 直接在 windows powerShel

    2024年02月03日
    浏览(46)
  • AWS EC2 docker-compose部署MongoDB4.2

    环境准备 安装docker 参考EC2官方文档:创建容器镜像以在 Amazon ECS 上使用 - Amazon Elastic Container Service 安装docker-compose MongoDB使用keyfile认证,副本集中的每个mongod实例使用keyfile内容作为认证其他成员的共享密码。mongod实例只有拥有正确的keyfile才可以加入副本集。 keyFile的内容必

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包