dotmesh (dm) is like git for your data volumes (databases, files etc) in Docker and Kubernetes
Alternatives To Dotmesh
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
a day ago311gpl-3.0C
Real-time performance monitoring, done right!
Traefik42,274182 days ago160September 16, 2022606mitGo
The Cloud Native Application Proxy
Devops Exercises41,762
3 days ago14otherPython
Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. DevOps Interview Questions
a day ago256apache-2.0Lua
🦍 The Cloud-Native API Gateway
Awesome Cheatsheets32,908
5 days ago85mitJavaScript
👩‍💻👨‍💻 Awesome cheatsheets for popular programming languages, frameworks and development tools. They include everything you should know in one single file.
Portainer25,0191a day ago78April 21, 20211,091zlibGo
Making Docker and Kubernetes management easy.
Dokku24,41125 days ago77April 22, 202146mitShell
A docker-powered PaaS that helps you build and manage the lifecycle of applications
Faas22,855912 days ago31April 12, 202128mitGo
OpenFaaS - Serverless Functions Made Simple
a month ago9December 01, 20214Go
Learn and understand Docker&Container technologies, with real DevOps practice!
Rancher20,81620a day ago207April 25, 20212,368apache-2.0Go
Complete container management platform
Alternatives To Dotmesh
Select To Compare

Alternative Project Comparisons

dotmesh: git for data

pipeline status

Dotmesh is a git-like CLI for capturing, organizing and sharing application states.

In other words, it's a snapshotting tool for databases and other filesystem states.

The application states that dotmesh captures are stored in datadots.

It can capture the state of multiple databases, each one in a subdot, in a single atomic commit.

installing on docker (Mac or Ubuntu 16.04+)

Install the dotmesh client dm:

sudo curl -sSL -o /usr/local/bin/dm \$(uname -s)/dm

Make the client binary executable.

sudo chmod +x /usr/local/bin/dm

Then use the client to install dotmesh-server, assuming you have Docker installed and your user account has access to the Docker daemon.

dm cluster init
Checking suitable Docker is installed... yes, got 17.12.0-ce.
Checking dotmesh isn't running... done.
Pulling dotmesh-server docker image...

This will set up a single-instance cluster on your local machine.

Verify that the dm client can talk to the dotmesh-server:

dm version

If the installation fails, please report an issue. You can also experiment in our online learning environment. Thanks!

See the installation docs for more details, including installing dotmesh on Kubernetes.

getting started guide

Try our hosted tutorial!

Alternatively, try the hello Dotmesh on Docker guided tutorial.

what is a datadot?

A datadot allows you to capture your application's state and treat it like a git repo.

A simple example is to start a PostgreSQL container using a datadot called myapp:

docker run -d --volume-driver dm \
    -v myapp:/var/lib/postgresql/data --name postgres postgres:9.6.6

This creates a datadot called myapp, creates the writeable filesystem for the default master branch in that datadot, mounts the writeable filesystem for the master branch into /var/lib/postgresql/data in the postgres container, and starts the postgres container, like this:

myapp dot with master branch and postgres container's /data volume attached

First, switch to it, which, like cd'ing into a git repo, makes it the "current" dot -- the dot which later dm commands will operate on by default:

dm switch myapp

You can then see the dm list output:

dm list
* myapp    master  a1b2c3d  /postgres   40.82 MiB  0        40.82 MiB

The current branch is shown in the BRANCH column and the current dot is marked with a * in the dm list output.

what's next?

Popular Kubernetes Projects
Popular Docker Projects
Popular Virtualization Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.