mongodb
使用 docker 部署 mongodb
- 拉取鏡像
- 使用 docker 安裝 mongodb
--name
設置了容器的名字-v
設置了路徑的映射, 將本地路徑映射到容器中. 此處, 路徑可以自定義-p
設置了端口的映射, 將容器的27017(右側) 映射到了本地的27017(右側)- 進入容器.
docker exec -it mongodb bash
上述命令的意思如下:
使用交互的形式, 在 名字為mongodb
的容器中實行bash
這個命令 -
mongodb
的使用 - 用戶的創建和數據庫的建立 用戶的創建
- 輸入以下命令進入
mongo
- 創建用戶
- mongo 是否正常啟動的校驗
- 遠程連接的開啟
docker pull mongo
可以查看鏡像是否下載成功
docker images | grep mongo
應該會有如下的顯示
mongo latest 7177e01e8c01 2 months ago 393MB
2 months ago 和 393MB 取決於鏡像的拉取時間和對應版本的大小.
docker run --name mongodb -v ~/docker/mongo:/data/db -p 27017:27017 -d mongo
執行上述命令之后, 一個掛載了 mongo鏡像的容器就開始運行了
其中
mongo
# 進入 admin 的數據庫
use admin
# 創建管理員用戶
db.createUser(
{
user: "admin",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
# 創建有可讀寫權限的用戶. 對於一個特定的數據庫, 比如'demo'
db.createUser({
user: 'test',
pwd: '123456',
roles: [{role: "read", db: "demo"}]
})
數據庫的建立
use demo;
先寫入一條數據
db.info.save({name: 'test', age: '22'})
查看寫入的數據
db.info.find();
結果如下
{ "_id" : ObjectId("5c973b81de96d4661a1c1831"), "name" : "test", "age" : "22" }
其中的
_id
應該會和筆者的不同
在 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
即可開啟遠程連接