從 docker 容器公開 MongoDB

從 docker 容器公開 MongoDB

我試圖公開在 docker 容器中運行的 mongodb,以便從外部存取。

我發現它應該能夠使用 docker compose 或 mongod.conf 檔案來設定主機綁定,但當我使用官方 mongodb docker 映像時,我沒有進行 compose,也找不到 conf 檔案。

這是我所做的以及到目前為止我嘗試過的:

  1. 創建了一個網絡

docker 網路建立 my-mongo-cluster

  1. 運行 3 個 mongo 資料庫實例

docker run --name mongo-node1 -d --net my-mongo-cluster mongo --replSet "rs0" docker run --name mongo-node2 -d --net my-mongo-cluster mongo --replSet "rs0" docker run --name mongo-node3 -d --net my-mongo-cluster mongo --replSet "rs0"

  1. 執行第一個

    docker exec -it mongo-node1 mongo

  2. 設定副本集的配置

config = { "_id" : "rs0", "成員" : [ { "_id" : 0, "主機" : "mongo-node1:27017" }, { "_id" : 1, "主機" : "mongo-節點2:27017”},{“_id”:2,“主機”:“mongo-node3:27017”}]}

rs.initialize(配置) rs.initialize

  1. 建立了一個管理員用戶

    使用 admin db.createUser( { user: "admin", pwd: "admin", Roles: [ { role: "userAdminAnyDatabase", db: "admin" }, >"readWriteAnyDatabase" ] } )

我嘗試使用以下語句來運行容器:

--expose=27017
--auth

--entrypoint 'mongod --bind_ip_all'

-> 導致錯誤。

它在 AWS 中運行,並且 27017 的入站規則設定正確。

答案始終是:

couldn't connect to server ec2-52-59-191-1.eu-central-1.compute.amazonaws.com:27017, connection attempt failed: SocketException: Error connecting to ec2-52-59-191-1.eu-central-1.compute.amazonaws.com:27017 (52.59.191.1:27017) :: caused by :: No connection could be made because the target machine actively refused it. :

相關內容