Skip to content

Ops Manager in Docker (arm64) WARNING: THIS IS NOT A PRODUCTION-GRADE IMAGE !!!

License

Notifications You must be signed in to change notification settings

mongodb-labs/omida

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OMiDa (OpsManager in Docker/arm64)

WARNING: THIS DOCKER IMAGE IS NOT FOR PRODUCTION USAGE !!!
USE AT YOUR OWN RISK!

Introduction

  • This project is meant to help users try out particular Ops Manager versions (configurable in the Makefile); it is NOT suited for PRODUCTION use!!!
  • When targeting arm64 (aarch64), the build process replaces the original x64 JDK11
  • You may need to update the JDK link for newer OM versions
  • Ops Manager needs a running MongoDB to serve as an AppDB; the build and run phases will start a mongo:5 container, exposed to the host on port 38017; this does not use authentication, a.k.a. it is INSECURE!
  • During build, Ops Manager is started, which pregenerates /etc/mongodb-mms/gen.key, a.k.a. it is INSECURE!
  • This image DOES NOT start a Backup Daemon
  • This is image is targeted at arm64 but also builds and runs on the x86_64 architecture.
  • DO NOT USE in PRODUCTION !!!

Prerequisites

Quickstart

  • 1. Checkout this repo and build the image
git clone git@github.com:mongodb-labs/omida.git
cd omida
make clean build
  • 2. Start the AppDB and Ops Manager
make run

Enjoy!

Build-time benchmarks

  • tests were performed locally, over WiFi
  • these timings are mostly informative, are are not to be seen as guarantees!

x86_64 (Apple 2.4 GHz 8-Core Intel Core i9, 2019)

  • make clean build: 1:36m
  • make run (cold start): 3:44m
  • make run: 1:46m

arm64 (Apple M1 Max, 2021)

  • make clean build: 0:45m
  • make run (cold start): 2:50m
  • make run: 1:20m

FAQ

How do I start a different Ops Manager version?

  • edit the Makefile
  • set VERSION=[your desired version]
  • Rebuild the image docker clean build

NOTE: if building on arm64, you might also need to update JDK_ARM64_BINARY (see below)

How do I update the JDK on arm64?

  • find the latest Linux arm JDK release on Adoptium.net (to do this, look for a string similar to If the download doesn't start in a few seconds, please _click here_ to start the download., right click on click here and copy the link)
  • edit the Makefile
  • update the JDK_ARM64_BINARY= variable
  • run make clean build

What do I do if the AppDB does not start in Docker?

Occasionally, you may run out of space, especially if you repeatedly run make clean build. In that case, run make clean && docker volume prune to clean up space.

Additionally, try deleting the MongoDB docker image (docker rmi mongo:5), which will fail but identify previously started containers, associated with this image.

About

Ops Manager in Docker (arm64) WARNING: THIS IS NOT A PRODUCTION-GRADE IMAGE !!!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published