第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Docker MongoDB 配置權(quán)限登錄

標(biāo)簽:
Docker

《Docker MongoDB 部署》一文中,我们了解了如何使用 Docker 部署 MongoDB,但是按照上一篇文章部署好的 MongoDB,并没有设置连接权限,也就是说,只要知道服务器地址以及 MongoDB 的端口号,就能直接对数据库进行操作,这样会造成极大的安全隐患,因此本文将介绍如何为 Docker 部署的 MongoDB 配置权限。

Ubuntu Docker 环境一键部署

安装 Docker 大致步骤主要有三个,分别是添加 Docker 安装源,配置 Docker 镜像源以及将用户添加到 docker 用户组。目前,阿里云的 Docker CE 镜像站有提供自动安装脚本,直接复制以下命令即可完成安装。

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

但是,我们依旧还是需要自己进行配置。为了日后再次安装或者配置新的服务器时更方便,我们将编写一个一键自动安装的脚本。

在编写脚本之前,需要先注册一个阿里云账户,然后找到里面的容器镜像服务,里面可以找到专属的容器加速地址。


https://img1.sycdn.imooc.com//5d5e7a3f000168c708980492.png

阿里云容器加速.PNG


上图黄色遮盖部分就是自己的用户编号。
接下来我们将创建一个一键安装脚本:

#! /bin/bash# install docker form source aliyunapt-get update
apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt-get -y update
apt-get -y install docker-ce# change source to aliyunmkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://<替换为阿里云提供的用户编码>.mirror.aliyuncs.com"]
}
EOF# add user to docker groupuser=$(who am i | awk '{print $1}')
usermod -aG docker $user# restart dockersystemctl daemon-reload
systemctl restart docker

以上脚本有两点需要注意:

  • registry-mirrors 中的地址需要替换为自己的阿里云容器镜像加速服务里面提供的地址

  • 由于该脚本需要使用 sudo 运行,而 Ubuntu 中使用 sudo 命令不能简单的使用 $USER$ 来获取用户名,因此这里使用了 user=$(who am i | awk '{print $1}') 来获取当前用户,并将其添加到 docker 用户组

编写完成后保存脚本,使用 sudo 命令运行即可。

创建 Mongo 容器

创建需要验证用户权限的 MongoDB 的容器和创建普通 MongoDB 容器区别不大,只是需要在命令末尾添加 --auth 参数,具体操作如下:

docker run -p 27017:27017 -v <LocalDirectoryPath>:/data/db --name --restart unless-stopped -d docker_mongodb  mongod --auth

创建完成后,我们将使用 admin 进入 mongodb,为数据库设置管理员用户,具体操作如下:

# 交互界面进入 mongodocker exec -it <docker_mongodb_name> mongo admin# 创建一个 admin 管理员账号db.createUser({ user: 'admin', pwd: 'admin', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });>>Successfully added user: {
    "user" : "admin",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}

我们可以从反馈信息中看到,我们的 admin 账户已经创建成功,这时,我们可以尝试使用 Robo 3T 登录,这是会发现,如果我们不使用密码,数据库是服务登录查看数据的,具体参考下图:

https://img1.sycdn.imooc.com//5d5e7a430001bfd708880742.png

没有使用admin账号无法通过验证.jpeg


https://img1.sycdn.imooc.com//5d5e7a46000136d008560733.png

使用admin账号通过验证.jpeg


到这里为止,我们已经完成给 docker mongodb 设置权限了。另外,还有一点需要注意的,这里使用的 userAdminAnyDatabase 权限,该用户可以查看所有数据库,但不能创建和删除数据库,如果要使用可以创建数据库的用户,权限使用 root


参考资料

阿里云 Docker CE 镜像源站



作者:speculatecat
链接:https://www.jianshu.com/p/b466a7d0490d

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消