centos中docker mongodb 配置

  安裝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上建立這個用戶纔有權限,這樣在程序中就能夠鏈接了。

相關文章
相關標籤/搜索