Navigation

Install MongoDB Enterprise with Docker

Important

The recommended solutions for using containers with MongoDB are:

If the above recommended solutions do not satisfy your needs, follow the steps in this tutorial to manually install MongoDB Enterprise with Docker.

Considerations

A full description of Docker is beyond the scope of this documentation. This page assumes prior knowledge of Docker.

This documentation only describes installing MongoDB Enterprise with Docker, and does not replace other resources on Docker. We encourage you to thoroughly familiarize yourself with Docker and its related subject matter before installing MongoDB Enterprise with Docker.

This procedure uses Docker’s official mongo image, which is supported by the Docker community and not MongoDB. It supports only the major versions listed in their repositiory, and only a specific minor version for each major version. The minor version can be found in the Dockerfile in the folder for each major version.

Create a Docker Image with MongoDB Enterprise

1

Download the Docker build files for MongoDB Enterprise.

After you have installed Docker and set up a Docker Hub account, download the build files from the Docker Hub mongo project with the following commands. Set MONGODB_VERSION to your major version of choice.

Docker Hub Mongo Project

The Docker Hub mongo project is not maintained by MongoDB. Any support requests should go to Docker.

export MONGODB_VERSION=4.0
curl -O --remote-name-all https://raw.githubusercontent.com/docker-library/mongo/master/$MONGODB_VERSION/{Dockerfile,docker-entrypoint.sh}
2

Build the Docker container.

Use the downloaded build files to create a Docker container image wrapped around MongoDB Enterprise. Set DOCKER_USERNAME to your Docker Hub username.

export DOCKER_USERNAME=username
chmod 755 ./docker-entrypoint.sh
docker build --build-arg MONGO_PACKAGE=mongodb-enterprise --build-arg MONGO_REPO=repo.mongodb.com -t $DOCKER_USERNAME/mongo-enterprise:$MONGODB_VERSION .
3

Test your image.

The following commands run mongod locally in a Docker container and check the version.

docker run --name mymongo -itd $DOCKER_USERNAME/mongo-enterprise:$MONGODB_VERSION
docker exec -it mymongo /usr/bin/mongo --eval "db.version()"

This should output the shell and server version for MongoDB.

Push the Image to Docker Hub

Optionally, you can push your Docker image to a remote repository, like Docker Hub, to use the image on other host machines. If you push the image to Docker Hub, you can then run docker pull for each host machine on which you want to install MongoDB Enterprise via Docker. For complete guidance on using docker pull, reference its documentation here.

1

Check your local images.

The following command displays your local Docker images:

docker images

You should see your MongoDB Enterprise image in the command output. If you do not, try Create a Docker Image with MongoDB Enterprise.

2

Push to Docker Hub.

Push your local MongoDB Enterprise image to your remote Docker Hub account.

docker login
docker push $DOCKER_USERNAME/mongo-enterprise:$MONGODB_VERSION

If you log into the Docker Hub site, you should see the image listed under your repositories.