I have a Singularity container in which I build and run MongoDB, calling /usr/bin/mongo "$@"
directly. When I do this, I get the error message
MongoDB shell version v4.2.11
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
2020-12-09T13:42:32.943+0000 E QUERY [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:353:17
@(connect):2:6
2020-12-09T13:42:32.944+0000 F - [main] exception: connect failed
2020-12-09T13:42:32.944+0000 E - [main] exiting with code 1
Interestingly, when MongoDB already runs outside the container, I can also start it within the container, without that error happening.
Because of this, one theory is that I need to somehow open port 27017 in advance, which is what I will try out next. However, I wanted to post this question in the meantime in case this should not turn out to solve my issue.
If relevant, my recipe is this:
Bootstrap: docker
From: ubuntu:20.04
%files
%post
apt update
apt-get install -y wget
apt-get install -y software-properties-common
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list
apt update
apt-get install -y mongodb-org
%runscript
/usr/bin/mongo "$@"