docker安装Mongodb

单机

docker run \
--name mongodb1 \
-d -p 27018:27017 \
--restart=always \
-v /data/mongodb/data:/data/db \
mongo:4.2.18 \
--auth

# 进入mongodb 
mongo

# 创建账号
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})

一主一从一仲裁

# 创建秘钥
openssl rand -base64 756 > /data/mongodb/conf/mongoKeyfile.key
# 给秘钥创建赋予权限
chmod 600 keyfile.key
# 分发到其他服务器


# 主
docker run -d --name mongodb \
--restart=always \
-p 27017:27017 \
-v /data/mongodb/data:/data/db \
-v /data/mongodb/conf:/data/configdb \
-v /data/mongodb/conf/mongoKeyfile.key:/data/configdb/mongoKeyfile.key \
mongo:4.2.18 \
--replSet=mongo_rs --bind_ip_all --logappend --keyFile /data/configdb/mongoKeyfile.key 

# 从节点
docker run -d --name mongodb \
-p 27017:27017 \
-v /data/mongodb/data:/data/db \
-v /data/mongodb/conf:/data/configdb \
-v /data/mongodb/conf/mongoKeyfile.key:/data/configdb/mongoKeyfile.key \
mongo:4.2.18 \
--replSet=mongo_rs --bind_ip_all --logappend --keyFile /data/configdb/mongoKeyfile.key 

# 仲裁节点
docker run -d --name mongodb \
-p 27017:27017 \
-v /data/mongodb/data:/data/db \
-v /data/mongodb/conf:/data/configdb \
-v /data/mongodb/conf/mongoKeyfile.key:/data/configdb/mongoKeyfile.key \
mongo:4.2.18 \
--replSet=mongo_rs --bind_ip_all --logappend --keyFile /data/configdb/mongoKeyfile.key 

# 配置副本集
# 进入主节点容器
docker exec -it mongodb mongo

# 切换数据库并登录
use admin;

# 配置副本集
rs.initiate({
  _id: "mongo_rs",
  members: [
    { _id: 0, host: "192.168.0.11:27017" },  // 主节点
    { _id: 1, host: "192.168.0.12:27017" },  // 从节点
    { _id: 2, host: "192.168.0.13:27017", arbiterOnly: true }  // 仲裁节点
  ]
})

# 查看集群状态
rs.status()

# 切换至admin
use admin

# 添加用户
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})

# 登录
db.auth('root','123456')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Docker安装MongoDB可以按照以下步骤进行操作: 1. 创建一个目录用于存放MongoDB的数据文件,比如/data目录。这个目录会被映射到Docker容器中的/data/db目录,以便保留数据库文件。 2. 生成启动文件start.sh。如果不需要账户密码认证,使用以下命令: ```bash cat <<EOF > start.sh #!/bin/bash MONGODB_DIR=`pwd` docker stop mongodb docker rm mongodb docker run -d \ --name mongodb \ --restart always \ --privileged \ -p 27017:27017 \ -v \${MONGODB_DIR}/data:/data/db \ mongo:4.2.2 EOF ``` 如果需要账户密码认证,可以使用以下命令: ```bash cat <<EOF > start.sh #!/bin/bash MONGODB_DIR=`pwd` docker stop mongodb docker rm mongodb docker run -d \ --name mongodb \ --restart always \ --privileged \ -p 27017:27017 \ -v \${MONGODB_DIR}/data:/data/db \ -e MONGO_INITDB_ROOT_USERNAME=admin \ -e MONGO_INITDB_ROOT_PASSWORD=admin123 \ mongo:4.2.2 mongod --auth EOF ``` 3. 停止和删除之前的MongoDB容器,可以使用以下命令: ```bash docker stop mongodb && docker rm mongodb ``` 4. 使用Navicat等工具连接MongoDB数据库进行管理。 总结起来,安装DockerMongoDB可以分为以下几个步骤: 1. 创建一个用于存放数据库文件的目录。 2. 生成启动文件start.sh,根据是否需要认证选择不同的命令。 3. 停止和删除之前的MongoDB容器。 4. 使用Navicat等工具连接MongoDB数据库进行管理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Docker安装MongoDB](https://blog.csdn.net/qq_38983728/article/details/87898956)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值