I’ve noticed that there is an official foundationdb Docker image. That’s fantastic, as Docker support is essential for many of us! But I have some questions and suggestions:
- can we rely on this docker image to be maintained and updated?
- the image seems to lack a README, even including the README that is in the source code next to the Dockerfile would be helpful!
- I am looking at https://github.com/apple/foundationdb/issues/1730 and just wanted to point out that local development testing is not the only use case: deployment is, too, as well as developing with pre-populated data, so the ability to mount a volume as the data directory seems essential.
- it took me a long time to stumble onto the example at https://github.com/apple/foundationdb/tree/master/packaging/docker/samples/local — perhaps this could be added to the README?
- the example requires a local (host-native) fdbcli, wouldn’t it be better to use docker run using fdbcli from the image?
Lastly, on a more general note, browsing through GitHub issues I see mentions of Kubernetes deployments. I’d say there are several general classes of use cases for docker images:
- local development/testing (e.g. docker run, docker-compose locally, with a docker-compose network)
- remote development/testing (same thing, but executed using docker-machine on remote servers)
- static dockerized deployment (docker-compose or simple docker run, but in production)
- orchestrated deployment using simple tools (nomad, docker swarm)
I wanted to point this out, because a well-designed docker image is useful to all of these use cases.
Also, while I am personally not a fan of Kubernetes and its complexity, I know that in a number of real-life enterprise scenarios it has become a hard requirement: a vendor selling a solution must be able to deploy it on customer-provided Kubernetes infrastructure. Which means that dockerization work is important for FoundationDB adoption.