Linux下 MongoDB的docker-compose的安装及初始化
前言,大名顶顶的非关系型数据库MongoDB,是将数据存储为一个文档,其以key-value(键值对)形式的数据结构,非常类似于JSON数据,它的文档字段值可以包含其他文档,数组及文档数组。
包含如下内容
- Docker-compose 来安装配置MongoDB
- mongodb的初始化,以及用户创建
Docker-compose 来安装配置MongoDB
MongoDB的键值对的数据结构对于从未接触过数据库知识的前端开发者来说,再友好不过了,接下来,让我们进入它的学习吧,工欲善其事必先利其器,先来安装一个吧!
安装环境
-
操作系统:UOS家庭版20,是国内厂商统信基于Linux的debian 10.6 buster开发的可视化操作系统,UI挺好看的
-
docker版本:18.09.1
-
docker-compose版本:1.29.2
MongoDB的docker-compose.yml文件
此处使用docker-compose来安装mongodb 可以避免各种环境配置问题,使用docker-compose之前需要一个yml配置文件,让我们来看看吧。
version: '3.1'
services:
mongo: #服务的名字
image: mongo #对应的docker镜像的名字,可指定版本,如mongo:1.0,不指定则为最新版
container_name: cmongo1 #docker容器的名字
restart: always #当docker重启时,容器自动启动。
environment: #容器内部默认的设置
MONGO_INITDB_ROOT_USERNAME: root #mongo默认的账号
MONGO_INITDB_ROOT_PASSWORD: root #mongo默认的密码
ports: #容器运行的端口号和对应的容器内部的端口号
- 27001:27017
volumes: # 数据持久化
- ./database:/data/db
command: [--auth] # 指定需要认证,mongdb默认是无认证的
小提示:yml的语法要求及其严格,注意每个:号后面都要跟一个空格,也不要使用tab来进行缩进
安装步骤
1.打开终端,创建相应文件夹和文件
进入home文件夹
cd /home
创建MongoDB文件夹,并进入
sudo mkdir MongoDB
cd MongoDB
2.创建编辑并插入docker-compose.yml文件
使用vi编辑器创建并打开docker-compose.yml文件
sudo vi docker-compose.yml
按i键进入编辑状态,并将上述mongoDB的docker-compose.yml的内容插入,然后按esc,再按:wq 退出编辑并保存,退出vi编辑器,进入终端
3.使用docker-compose启动容器,并在后台运行
sudo docker-compose up -d
至此,mongdb容器启动成功
查看docker容器的运行情况,可以看到我们刚刚运行的容器
mongodb的初始化,以及用户创建
用户鉴权
由于在docker-compose.yml文件中开启了用户鉴权,以及创建了默认用户root,需进行用户鉴权 首先要进入MongoDB容器内部,连上MongoDB
sudo docker exec -it cmongo1 mongo admin
切换到admin数据库
use admin
进行用户鉴权,返回1,则表示鉴权成功
auth('root','root')
创建 testdbc 数据库,并切换到testdbc数据库
use testdbc
创建testdbc数据库的一般用户,具备读写权限
db.createUser({user:'juejin',pwd:'123456',roles:[{role:'readWrite',db:'testdbc'}]})
使用数据库GUI;连接软件进行测试,本次使用navicat
如图所示,数据库已连接