在docker中使用mongo資料庫,在區域網訪問

2021-08-02 19:46:24 字數 2616 閱讀 6733

有了docker,基本上就告別了各種軟體、資料庫的安裝,直接從映象庫pull下來,爽,想想以前那真是乙個遭罪啊。

這文章就來看一下如何跑mongo的docker映象,並且可以在區域網訪問,內容相對簡單,也是記錄我的自學過程。

第一步獲得mongo映象,命令如下,

# 拉取mongo映象

docker pull mongo

# 檢視本地庫mongo映象

docker images mongo

第二步

啟動mongo映象,如下

# 啟動mongo映象

docker run -itd -p --name mongo-server mongo bash

# 檢視mongo程序

docker ps -a

第三步

進入容器並啟動mongo,如下

# 進入mongo容器,其中『mongo-server』是mongo容器別名

docker exec -it mongo-server bash

# 啟動mongo服務

mongod &

# 在容器中檢視mongo程序

ps -ef | grep mongo

啟動以後會看到如下日誌(最後幾行),

2017-06-13t07:25:56.318+0000 i ftdc     [initandlisten] initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'

2017-06-13t07:25:56.328+0000 i index [initandlisten] build index on: admin.system.version properties: , name: "incompatible_with_version_32", ns: "admin.system.version" }

2017-06-13t07:25:56.328+0000 i index [initandlisten] building index using bulk method; build may temporarily use up to 500 megabytes of ram

2017-06-13t07:25:56.329+0000 i index [initandlisten] build index done. scanned 0 total records. 0 secs

2017-06-13t07:25:56.329+0000 i command [initandlisten] setting featurecompatibilityversion to 3.4

2017-06-13t07:25:56.329+0000 i network [thread1] waiting for connections on port 27017

第四步

本地驗證測試,輸入mongo啟動mongo命令列客戶端,如下內容

root@01ff7ed6377c:/# mongo

mongodb shell version v3.4.4

connecting to: mongodb:

2017-06-13t07:34:00.289+0000 i network [thread1] connection accepted from 127.0.0.1:55650 #2 (1 connection now open)

接著輸入測試命令,

> show dbs;

admin 0.000gb

local 0.000gb

>

第五步

在區域網訪問docker中的mongo,由於啟動的時候是使用的隨機埠對映,意思是宿主機產生乙個隨機埠去對映mongo的27017埠,通過『docker ps -a』命令檢視宿主機隨機埠,如下,

docker ps -a 

container id image command created status ports names

01ff7ed6377c mongo "docker-entrypoint.sh" 15 minutes ago up 15 minutes 0.0.0.0:32773->27017/tcp mongo-server

如上,宿主機隨機埠為32773,通過配置robomongo客戶端連線mongo,如下,

結果正常。

如果要停止mongo可以使用如下命令,

# 登入mongo

mongo

# 選擇使用admin庫,在其他的庫不行

use admin

# 關閉mongo

db.shutdownserver()

通過『ps -ef | grep momgo』檢視mongo程序是否存在,如果不存在說明關閉成功。

在Egg中使用MongoDB及Mongoose

新公司的專案中用了egg和mongodb及mongoose。最近有空來系統的梳理一下。egg 使用 egg mongoose來方便的跟資料庫進行鏈結 eggproject server config config.default.ts 單資料庫鏈結 mongoose 多資料庫鏈結 mongoose ...

在 Docker 中使用 MongoDB

如果你是一名 mongodb 的初學者,那麼你入門 mongodb 的第一件事就是安裝,但是安裝 mongodb 還需要自己配置一些服務。這時候,docker 就能幫上大忙,它能夠讓你不需要本地安裝 mongodb 就能使用。首先你的電腦上需要 安裝 docker,然後在 docker 的映象中查詢...

在docker中使用MySQL

docker pull mysql 5.7.32版本查詢 檢視常用docker 命令 建立目錄,用於宿主機與容器的對映,以便將資料儲存在宿主機,而不是容器中。usr local docker mysql conf,配置檔案 usr local docker mysql logs,日誌檔案 usr l...