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>
27 lines
1.1 KiB
Markdown
27 lines
1.1 KiB
Markdown
## 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:
|
|
|
|
1. Build your own Scylla in whatever build mode you prefer, e.g., dev.
|
|
|
|
2. Run `ninja dist-dev` (with the same mode name as above) to prepare
|
|
the distribution artifacts.
|
|
|
|
3. Run `./dist/docker/debian/build_docker.sh --mode dev`
|
|
|
|
This 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`
|
|
|
|
4. 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.4009d8b06`
|
|
|
|
Often 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`
|