add --dc and --rack commandline arguments to the scylla docker image, to allow starting a node with a specified dc and rack names in a simple way. This is useful mostly for small examples and demonstrations of starting multiple nodes with different racks, when we prefer not to bother with editing configuration files. The ability to assign nodes to different racks is especially important with RF=Rack enforcing. The previous method to achieve this is to set the snitch to GossipingPropertyFileSnitch and provide a configuration file in /etc/scylla/cassandra-rackdc.properties with the name of the dc and rack. The new dc and rack parameters are implemented similarly by using the snitch GossipingPropertyFileSnitch and writing the dc and rack values to the rackdc properties file. We don't support passing the parameters together with a different snitch, or when mounting a properties file from the host, because we don't want to overwrite it. Example: docker run -d --name scylla1 scylladb/scylla --dc my_dc1 --rack my_rack1 Fixes scylladb/scylladb#23423 Closes scylladb/scylladb#25607
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