Install MongoDB Enterprise with Docker (original) (raw)
Important
The recommended solutions for using containers with MongoDB are:
- For development and testing use theMongoDB Community Docker container. This image is maintained by MongoDB. The image contains the Community Edition of MongoDB.
- For MongoDB Enterprise production installations, use theEnterprise Kubernetes Operatorto deploy and manage MongoDB clusters within Kubernetes.
You can run MongoDB Enterprise Edition as a Docker container using the official MongoDB Enterprise image. Use a Docker container to run your MongoDB deployment if you want to:
Quickly set up a deployment.
Avoid editing configuration files.
Test features from multiple versions of MongoDB.
This page assumes prior knowledge of Docker. A full description ofDocker is beyond the scope of this documentation.
This procedure uses the official MongoDB Enterprise Advanced Servercontainer, which is maintained by MongoDB.
MongoDB 5.0+ Docker images require AVX support on your system. If your system does not support AVX, you can use a docker image of MongoDB prior to version 5.0.
Warning
Versions of MongoDB prior to 5.0 are EOL'd and no longer supported by MongoDB. These versions should be used for testing purposes only.
MongoDB requires a filesystem that supports
fsync()
on directories. Data created by unsupported MongoDB images in Docker may not persist between reboots on Windows and OSX.
To avoid a filesystem issue while running MongoDB in Docker, follow therecommended solutions above.Install Docker
Install mongosh
docker pull mongodb/mongodb-enterprise-server:latest
docker run --name mongodb -p 27017:27017 -d mongodb/mongodb-enterprise-server:latest
The -p 27017:27017
in this command maps the container port to the host port. This allows you to connect to MongoDB with a localhost:27017
connection string.
To install a specific version of MongoDB, specify the version after the :
in the Docker run command. Docker pulls and runs the specified version.
For example, to run MongoDB 5.0:
docker run --name mongodb -p 27017:27017 -d mongodb/mongodb-enterprise-server:5.0-ubuntu2004
For a full list of available versions, seeTags.
Note
Add Command Line Options
You can use mongod command-line optionsby appending the command-line options to the docker run command.
For example, consider the mongod --replSet docker command-line option:
docker run -p 27017:27017 -d mongodb/mongodb-enterprise-server:latest --name mongodb --replSet myReplicaSet
To check the status of your Docker container, run the following command:
The output from the ls
command lists the following fields that describe the running container:
Container ID
Image
Command
Created
Status
Port
Names
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c29db5687290 mongodb-enterprise-server:latest "docker-entrypoint.s…" 4 seconds ago Up 3 seconds 27017/tcp mongo
To confirm your MongoDB instance is running, run the Hello
command:
db.runCommand(
{
hello: 1
}
)
The result of this command returns a document describing yourmongod
deployment:
{
isWritablePrimary: true,
topologyVersion: {
processId: ObjectId("63c00e27195285e827d48908"),
counter: Long("0")
},
maxBsonObjectSize: 16777216,
maxMessageSizeBytes: 48000000,
maxWriteBatchSize: 100000,
localTime: ISODate("2023-01-12T16:51:10.132Z"),
logicalSessionTimeoutMinutes: 30,
connectionId: 18,
minWireVersion: 0,
maxWireVersion: 20,
readOnly: false,
ok: 1
}
You can use Cosign to verify MongoDB's signature for container images.
This procedure is optional. You do not need to verify MongoDB's signature to run MongoDB on Docker or any other containerized platform.
To verify MongoDB's container signature, perform the following steps:
curl https://cosign.mongodb.com/server.pem > server.pem
Run the following command to verify the signature by tag:
COSIGN_REPOSITORY=docker.io/mongodb/signatures cosign verify --private-infrastructure --key=./server.pem docker.io/mongodb/mongodb-enterprise-server:latest
For compatibility information, seeDocker & MongoDB.