Can't connect to MongoDB docker from Compass - mongodb

I created a MongoDB docker instance as follows:
sudo docker run --name mongo -d -p 27000:27000 mongo
I confirmed that the instance is running by using command sudo docker ps --all :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f509276287eb mongo "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:27000->27000/tcp, :::27000->27000/tcp, 27017/tcp mongo
Then I tried to connect to it using Compass GUI tool with the following connection string:
mongodb://localhost:27000/
I get a screen the following screen:
and after waiting for a while, the screen disappears with the following error message
connection <monitor> to 127.0.0.1:27000 closed
My goal is to use this docker image to run tests, but I cannot connect to it.
I tried using 0.0.0.0 instead of localhost but it didn't work.
My Question: How do I connect to MongoDB docker image?
Environment info:
OS is Ubuntu 22.04
Docker version 20.10.14, build a224086349 (snap package)
Compass version 1.33.1 (deb package)

I figured it out. I made a silly mistake when picking the port, I should have used:
sudo docker run --name mongo -d -p 27000:27017 mongo
Because Mongo will always be on port 27017 inside the image.

Related

Unable to run docker container for mongodb 2.6.12

I need mongodb specific version and when I run the following command, it runs the container but exit quickly
docker run --name some-mongo -d mongo:2.6.12
4bbe88021ad919ba9680a2a4710e664a87e8620d4cd9802567029fec131534a3
If I list the containers docker ps -a, I can see following output
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4bbe88021ad9 mongo:2.6.12 "/entrypoint.sh mong…" 4 seconds ago Exited (139) 3 seconds ago some-mongo
I am not sure why its existing and hence tried the logs
docker logs 4bbe88021ad9 but the is result empty (no result at all)
Please note the lates version works fine
docker run -p 27031:27017 --name kongoLatest -d mongo
I need to investiage why its not working for specific version? The main process must be failing and throwing some error which I am not able to see it.

How to run Mongo container on Windows Server 1809

I'm trying to run a mongodb container on Windows Server 1809 but am getting the following error:
docker run --name mongodb --restart unless-stopped -d -p 27017:27017 mymongo
docker: Error response from daemon: hcsshim::CreateComputeSystem bf9bf4086726d00cbcaff1f082e6b1db12bd803f3ba2c2ca7c0db1e5d75aa316: The container operating system does not match the host operating system.
(extra info: {"SystemType":"Container","Name":"bf9bf4086726d00cbcaff1f082e6b1db12bd803f3ba2c2ca7c0db1e5d75aa316","Owner":"docker","VolumePath":"\\\\?\\Volume{452442a7-ac87-4117-8e82-b00a8d87b444}","IgnoreFlushesDuringBoot":true,"LayerFolderPath":"C:\\ProgramData\\docker\\windowsfilter\\bf9bf4086726d00cbcaff1f082e6b1db12bd803f3ba2c2ca7c0db1e5d75aa316","Layers":[{"ID":"fc52f55a-6f1e-5651-93c6-09c1fcaf7c9a","Path":"C:\\ProgramData\\docker\\windowsfilter\\c9035a2f08cd42f11c3c76895b03021b6d48266d0f86bd083c12fa5f86455e60"},{"ID":"ab78d923-9c41-55fc-92ec-a9330d5db560","Path":"C:\\ProgramData\\docker\\windowsfilter\\c01be26c30f8769641fe00741c162d71bb3305df4c71cbaf138ff2b901ec6b11"},{"ID":"026d80b8-19b3-5c4d-ae3d-35a54251fe3e","Path":"C:\\ProgramData\\docker\\windowsfilter\\def72c2b739b9f453610c44a8ed61e997306eaf34a2ecddd00198d0e7a002f97"},{"ID":"3f241ae1-ba2c-5fec-8d70-c2396e176817","Path":"C:\\ProgramData\\docker\\windowsfilter\\c7cedcded6a8aa587cef67edb4918bec61be7a3500892ea1e96ff7b2c3e13af2"},{"ID":"2efd8648-ea16-508d-8c5b-6a0ef3e6c84d","Path":"C:\\ProgramData\\docker\\windowsfilter\\60049935b45a47f9649619a2f5bcd87d9b9a909452c3bd0fbd1a6a7275bcb7b0"},{"ID":"eddd0e96-fd43-58c7-94fc-530892d35234","Path":"C:\\ProgramData\\docker\\windowsfilter\\80f9aa5efa51e2fa9b068a68b4b5dd5a4b10724cdeab62238dfe7d3f123767d1"},{"ID":"11f58e92-5415-5594-9910-9ff4f59731fb","Path":"C:\\ProgramData\\docker\\windowsfilter\\65f94285263b26ecb465ede59d13113b09e2e31891fc832e2700c00a5902c147"},{"ID":"cedb9cc2-9b4c-5175-bd37-f74b69253886","Path":"C:\\ProgramData\\docker\\windowsfilter\\95cb73e37cc8f93d5e63143c0d0de000cc1af77e498108babaf5ceebd09cebf0"},{"ID":"745ef0c5-ae72-5e25-b6bb-7208c533560e","Path":"C:\\ProgramData\\docker\\windowsfilter\\8984fb6ffe0575d27d836a764d64591ae175272a75260ee476507100618d3b78"},{"ID":"b0dcfd28-95d6-506d-bbcf-48e5f62ef97f","Path":"C:\\ProgramData\\docker\\windowsfilter\\e747665dffb09875cdeeb4438a422f2c6a3a83f3d30f1d77001e19a078ec3392"},{"ID":"f2fb9c30-cdca-513e-8409-c21af8fbfcaa","Path":"C:\\ProgramData\\docker\\windowsfilter\\f5641e2fbb273e21e654e8671af314de80a62f5a5074cfdb3a7784f296c6d171"},{"ID":"67e9a990-1ee4-597f-8e73-ee95b6f65d30","Path":"C:\\ProgramData\\docker\\windowsfilter\\e18aba5da9d71b86e113123d6635fcec544f1228b6c29e76b7027ed1d5b207d7"},{"ID":"741cd5e2-3dfe-5693-ba08-ac8fed4ae741","Path":"C:\\ProgramData\\docker\\windowsfilter\\6029438e12ce66ab4f7b48ca5f7aa10ff6d1b284602f2f6fa0ab2b56daa96796"}],"HostName":"bf9bf4086726","MappedDirectories":[{"HostPath":"C:\\ProgramData\\docker\\volumes\\e1898e25db59a589102c266339cc21243e62ba950a70a82f6b3fc31d693f1494\\_data","ContainerPath":"c:\\data\\configdb","ReadOnly":false,"BandwidthMaximum":0,"IOPSMaximum":0,"CreateInUtilityVM":false},{"HostPath":"C:\\ProgramData\\docker\\volumes\\e42d0b5e649c60b87b7ff283b0db51f28d95cf1e9b2ef33ddb50344bf61358b7\\_data","ContainerPath":"c:\\data\\db","ReadOnly":false,"BandwidthMaximum":0,"IOPSMaximum":0,"CreateInUtilityVM":false}],"HvPartition":false,"EndpointList":["A64F960D-CB2B-4452-8438-2A1E25105432"],"AllowUnqualifiedDNSQuery":true}).
I tried with both 4.2.1-windowsservercore-1803 and 4.2.1-windowsservercore-ltsc2016. I also tried using isolation=hyperv, but it gave me "Request is not supported". On another Windows Server, this one 2016, everything worked.
What can I do to run a mongo container on windows server 1809?
I got it working by copying the image for the MongoDB version I wanted on their github and changing the FROM line to
FROM mcr.microsoft.com/windows/servercore:1809

Not able to connect SpringBootApplication to mongo container in Docker

I'm having docker container up and running by using the following command:
docker run -p 27017:27017 -d mongo
Docker Logs for reference.
Then I clone a github repo: https://github.com/springframeworkguru/spring-boot-mongodb.git
Import the project in IntelliJ IDE, build it and run.
SpringBoot App Error Logs here
Issue : I'm not able to connect to the mongo app running in the container from my SpringBoot application as I'm getting MongoSocketOpenException as shown in the logs.
Any help is appreciated?
Docker version 18.03.0-ce, build 0520e24302
OS: Windows 10
Docker for win has some problems with loopback interfaces.
https://blog.sixeyed.com/published-ports-on-windows-containers-dont-do-loopback/
Try run docker inspect and configure your application with the container address.
Problem: I was trying to configure SpringBoot Application to mongo container IP which I retrieved from mongo inspect <mongo_container> command which was incorrect.
Solution: Configured my application using docker IP retrieved by docker-machine <env> which resolved the problem.
Link to the post is here.

How to have two instance of mongodb on same pc

I have mongo db 2.6.9 installed in my ubuntu machine.I want to have 2.6.10 also installed on the same machine and only run one at a time.
I don't have much knowledge of mongodb. How can i do it?
Talking for linux, if you just install it twice in different paths (REMEMBER to change the port) i think they will run fine. the problem is that you will end up using the same log file for both instances. What I suggest you is you take a look at the two following linkes:
stack here
and also on mongo manual in order to see the run time configuration where you will see what paths you have to change for the second running installation here
Since you are already on ubuntu, install docker and create containers running as many mongo versions as you want in different containers. You will just have to bind them to different ports on the local machine.
Install docker
sudo apt-get update $ sudo apt-get install wget
wget -qO- https://get.docker.com/ | sh
Create mongodb container running mongo 2.6.9 and 2.6.10
docker run -p 27107:27107 -d mongo:2.6.9
docker run -p 27108:27107 -d mongo:2.6.10
Connect to mongodb version 2.6.9 using 127.0.0.1 on port 27107
Connect to mongodb version 2.6.10 using 127.0.0.1 on port 27108

Docker: Mongo exits on run

Using:
https://registry.hub.docker.com/_/mongo/
I did this to pull in all tags:
docker pull mongo
Then, when I try to run it with
docker run -v /data:/data --name mongodb -p 4000:27017 mongo:2.6.6
The status shows
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5959d3f79243 mongo:2.6.6 "/entrypoint.sh mong 4 seconds ago Exited (1) 3 seconds ago mongodb
Logs show:
numactl: This system does not support NUMA policy
How do I keep mongo running while using docker? I am using Docker 1.4.1 on OSX (boot2docker).
Indeed, the boot2docker VM doesn't support NUMA, and the current Dockerfile executes mongod through numactl. A possible workaround:
$ docker run -v /data:/data --name mongodb -p 4000:27017 --entrypoint=mongod mongo:2.6.6
This uses --entrypoint to override the image defined ENTRYPOINT and execute mongod directly.