安裝docker,對於Centos7,以下:mongodb
$ sudo yum update
$ sudo yum -y install docker
$ sudo systemctl start docker
docker
首先下載mongodb的鏡像,直接經過dockerhub下載較慢,可首先設置加速,經過阿里雲,以下:阿里雲
# 系統要求 CentOS 7 以上,Docker 1.9 以上。 spa
sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service rest
sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=https://asclxy8u.mirror.aliyuncs.com|g" /etc/systemd/system/docker.servicecode
sudo systemctl daemon-reloadblog
sudo service docker restartit
下載地址:docker pull mongoclass
下載後啓動,先說比較坑的,看到官方的介紹,容器
docker run --name some-mongo -d mongo
命令是能夠啓動容器的,不過僅僅是一個內部的端口,本機卻是能夠訪問,外部就不行了。
能夠看出是沒有27017端口的。這就須要創建端口映射,把容器刪除後,從新啓動一個。
docker run --name daisy -d -p 27017:27017 mongo
如圖中所示,已經能夠看到27017端口了。binggo,如此就能夠訪問了。
若是想配置權限,那麼:
docker run --name daisy -d -p 27017:27017 mongo --auth
而後打開交互界面,
docker exec -it daisy mongo admin
配置一個用戶
db.createUser({ user: 'message', pwd: 'hubhub', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })
這樣建立一個用戶後,只能首先登陸admin,而後轉換到其餘db,纔有權限操做,若是想賦予新建db一個用戶,那麼use db 後
db.createUser({user:"hub",pwd:"hubhub",roles: [{role: "root",db: "admin"}]})
在當前db上建立這個用戶纔有權限,這樣在程序中就能夠鏈接了。