ReThinkDB For AMD and ARM Processors Through Docker

RethinkDB Screen
 

One of our current products is ProboCI. This continuous collaboration and testing tool is built with several dependencies – one of them being RethinkDB. Because I have been working on a Docker installation for the open source and proprietary versions of ProboCI, I have been using a full Docker container suite for development with an eye toward production.

Enter in Apple Silicon.

During this process, I purchased an upgraded Apple laptop with an Apple Silicon processor. Unfortunately the official RethinkDB container did not contain an ARM64 compatible build. As such I built one. Using the instructions here, as a baseline, I was able to come up with a mechanism by which I could build RethinkDB in an ARM container. Because of this, it will also run on a RaspberryPi theoretically although I have not tested it. The only drawback right now is it is a very large container. Over 700mb compressed. We’re working to reduce the overall image size without the many dependencies.

The project can be viewed on DockerHub. The URL is:

https://hub.docker.com/r/flyingflip/rethinkdb

I started from an Ubuntu 22.04 base image (20.04 on the v2.4.1 version of RethinkDB due to Python 2 dependency).

In addition to the dependencies listed in the article on RethinkDB, I also used the following packages installed via apt-install

  1. clang
  2. python
  3. make
  4. patch

So my base dependency install looked like:

apt-get -y install g++ protobuf-compiler libprotobuf-dev libboost-dev
apt-get -y install curl m4 wget libssl-dev clang python make patch

I have linked to the standard RethinkDB source package, but hosted in my S3 to as a preventative to organizational ghosting that sometimes happens.

https://www.github.com/flyingflip/rethinkdb

I still consider this to be experimental and but I am using it in enterprise, production environments.

Update

This container no longer munges the metadata file when it exits or restarts.