centos下docker部署mongoDB並開啟遠端訪問
1. 搜尋、拉取和檢視映象
docker searh mongoDb
docker pull mongo
docker images | grep mongo
2.使用 docker 安裝 mongodb(建立容器並執行)
docker run --name mongo -v ~/docker/mongo:/data/db -p 27017:27017 -d mongo
執行上述命令之後, 一個掛載了 mongo映象的容器就開始運行了 其中
–name 設定了容器的名字
-v 設定了路徑的對映, 將本地路徑對映到容器中. 此處, 路徑可以自定義
-p 設定了埠的對映, 將容器的27017(右側) 對映到了本地的27017(右側)
檢視容器是否成功建立
docker ps
啟動容器
docker start mongo
3. 進入、退出容器
#進入容器
docker exec -it mongo bash
上述命令的意思如下: 使用互動的形式, 在 名字為 mongo 的容器中實行 bash這個命令
退出:ctl + P + Q 或者 exit
4. mongodb的使用
.使用者的建立
#進入
mongo
mongo
#進入 admin 的資料庫
use admin
#建立管理員使用者
db.createUser(
{
user: “root”,
pwd: “752700”,
roles: [ { role: “root”, db: “admin” } ]}
)
# 建立有可讀寫許可權的使用者. 對於一個特定的資料庫, 比如’demo’
db.createUser({
user: ‘test’,
pwd: ‘123456’,
roles: [{role: “read”, db: “demo”}]
})
.資料庫的建立
use demo;
mongo 是否正常啟動的校驗
#先寫入一條資料
db.info.save({name: ‘test’, age: ‘22’})
#檢視寫入的資料
db.info.find();
結果如下
{ “_id” : ObjectId(“5c973b81de96d4661a1c1831”), “name” : “test”, “age” : “22” }
5. 遠端連線的開啟
在mongodb 的容器當中
#更新源
apt-get update
#安裝 vim
apt-get install vim
#修改 mongo 配置檔案
vim /etc/mongod.conf.orig
將其中的bindIp: 127.0.0.1註釋掉# bindIp: 127.0.0.1或者改成bindIp: 0.0.0.0 即可開啟遠端連線
這時連結會出現如下錯誤
6. 開放埠27017
.檢查防火牆狀態:systemctl status firewalld
開啟防火牆埠:firewall-cmd --zone=public --add-port=27017/tcp --permanent
命令含義:
–zone #作用域
–add-port=27017/tcp #新增埠,格式為:埠/通訊協議
–permanent #永久生效,沒有此引數重啟後失效
重新載入配置:firewall-cmd --reload
檢視開放的埠:firewall-cmd --list-ports
出現27017埠就可以了
7.遠端伺服器還需設定 安全組策略