Tips: Docker内にインストールしたMongoDBにDocker外からアクセスする

入社直後にDocker内にMongoDBをインストールして基本的なCRUD処理を試しましたが、Docker内のMongoDBとMacのローカルをつなぐ方法がわかりませんでした。

最近になって方法を知ったのでTipsとして共有します。

 

開発中の使い捨てDBとしてアプリケーションからアクセスしてテストデータを突っ込んだり、GUIアプリのRobo3TやCompassから接続してデータ確認ができます。

 

DockerHubのMongoDB公式イメージを使って

でMongoDBが立ち上がりますが、これだとDocker外からアクセスできないので -p 27017:27017 の追加と 実行コマンドをデフォルトの “mongod” のみから –bind_ip 付きに変更します

これで外からアクセスできます。
– 自分のアプリケーションからは mongodb://localhost:27017 で接続
– Robo3T, MongoDB Compass から HostName: localhost , Port: 27017 , ほか初期値 でOK

Ctrl + Cで終了。–rm を指定しているため終了したコンテナは削除されます。

 

参考1: 公式のDockerfileの中身

https://github.com/docker-library/mongo

 

参考2: 以前自分で調べて書いたDockerfile