centos中docker mongodb 配置


  安裝docker,對於Centos7,如下:

 $ sudo yum update
$ sudo yum -y install docker
$ sudo systemctl start docker

  首先下載mongodb的鏡像,直接通過dockerhub下載較慢,可首先設置加速,通過阿里雲,如下:

# 系統要求 CentOS 7 以上,Docker 1.9 以上。

sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service

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.service

sudo systemctl daemon-reload

sudo service docker restart

下載地址:docker pull mongo

 

下載后啟動,先說比較坑的,看到官方的介紹,

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上創建這個用戶才有權限,這樣在程序中就可以連接了。

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM