The (oddly-placed) document dist/docker/debian/README.md explains how a
developer can build a Scylla docker image using a self-built Scylla
executable.
While the document begins by saying that you can "build your own
Scylla in whatever build mode you prefer, e.g., dev.", the rest of the
instructions don't fit this example mode "dev" - the second command does
"ninja dist-deb" which builds *all* modes, while the third command
forgets to pass the mode at all (and therefore defaults to "release").
The forth command doesn't work at all, and became irrelevant during
a recent rewrite in commit e96ff3d.
This patch modifies the document to fix those problems.
It ends with an example of how to run the resulting docker image
(this is usually the purpose of building a docker image - to run it
and test it). I did this example using podman because I couldn't get
it to work in docker. Later we can hopefully add the corresponding
docker example.
Fixes #9263.
Signed-off-by: Nadav Har'El <nyh@scylladb.com>
Message-Id: <20210829182608.355748-1-nyh@scylladb.com>
1.1 KiB
Docker image with a self-built executable
The following instructions will allow you to build a Docker image which contains a combination of some tools from the nightly build in http://downloads.scylladb.com/ (as described above) but with a Scylla executable which you build yourself.
Do the following in the top-level Scylla source directory:
-
Build your own Scylla in whatever build mode you prefer, e.g., dev.
-
Run
ninja dist-dev(with the same mode name as above) to prepare the distribution artifacts. -
Run
./dist/docker/debian/build_docker.sh --mode devThis creates a docker image as a file, in the OCI format, and prints its name, looking something like:
oci-archive:build/dev/dist/docker/scylla-4.6.dev-0.20210829.4009d8b06 -
This file can copied to a docker repository, or run directly with podman:
podman run oci-archive:build/dev/dist/docker/scylla-4.6.dev-0.20210829.4009d8b06Often with additional parameters, as in docs/alternator/getting-started.md:
podman run --name scylla -d -p 8000:8000 oci-archive:... --alternator-port=8000 --alternator-write-isolation=always