Windows連接docker MongoDB

目標:在docker裏安裝MongoDB並且可以通過工具訪問

安裝MongoDB:

docker pull mongo:latest

查看鏡像

運行MongoDB:

docker run -itd --name mongo -p 27017:27017 mongo --auth

-p 27017:27017 :映射容器服務的 27017 端口到宿主機的 27017 端口。外部可以直接通過 宿主機 ip:27017 訪問到 mongo 的服務。(前面是宿主機,在Windows裏就是虛擬機的端口,後面是容器的端口)

--auth:需要密碼才能訪問容器服務。

我們可以通過 docker ps 命令查看容器的運行信息:

0.0.0.0:27017>27017/tcp

指的是本地(也就是宿主機,Windows裏的虛擬機)27017端口映射容器的27017端口

到這已經運行成功了

本地工具連接:

首先進入容器:

docker exec -it mongo bash

進入數據庫管理:

 mongo admin

有的可以直接進入:

docker exec -it mongo mongo admin

不過我試了我的不行,得分兩步。

創建用戶:

db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});

嘗試連接:

db.auth('admin', '123456')

給數據庫授權:

db.grantRolesToUser("admin", [ { role:"dbOwner", db:"admin"} ]) ;

授權得在用戶登錄之後纔可以

然後退出容器:

重啓容器:

查看虛擬機地址:

用工具連接:

可以看到授權了admin數據庫可以打開,其他沒授權的打不開。

 這樣我們就可以在本機通過工具連接了,那要是局域網內其他電腦想要連接怎麼辦呢?

我先琢磨琢磨...告辭!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章