@@ -6,6 +6,7 @@ CONTAINER_PROXY_NAME="valkey-benchmark-proxy"
66CONTAINER_MASTER_NAME=" valkey-benchmark-master"
77CONTAINER_SLAVE1_NAME=" valkey-benchmark-slave1"
88CONTAINER_SLAVE2_NAME=" valkey-benchmark-slave2"
9+ NETWORK_NAME=" valkey-benchmark-net"
910DRYCC_VALKEY_PASSWORD=123456
1011
1112function clean_before_exit {
@@ -14,9 +15,20 @@ function clean_before_exit {
1415}
1516trap clean_before_exit EXIT
1617
18+ ensure-network () {
19+ # Use a dedicated bridge network so each container gets a unique IP and
20+ # can reach its neighbours. The default rootless networking (pasta) makes
21+ # every container share the host IP, which breaks master/replica/sentinel
22+ # discovery because containers cannot connect to each other by that IP.
23+ if ! podman network exists " $NETWORK_NAME " > /dev/null 2>&1 ; then
24+ podman network create " $NETWORK_NAME " > /dev/null
25+ fi
26+ }
27+
1728start-valkey-master () {
1829 podman run -d \
1930 --rm \
31+ --network " $NETWORK_NAME " \
2032 --env " REDISCLI_AUTH=$DRYCC_VALKEY_PASSWORD " \
2133 --env " DRYCC_VALKEY_PASSWORD=$DRYCC_VALKEY_PASSWORD " \
2234 --name " $CONTAINER_MASTER_NAME " \
@@ -31,6 +43,7 @@ start-valkey-master() {
3143start-valkey-slave1 () {
3244 podman run -d \
3345 --rm \
46+ --network " $NETWORK_NAME " \
3447 --env " REDISCLI_AUTH=$DRYCC_VALKEY_PASSWORD " \
3548 --env " DRYCC_VALKEY_PASSWORD=$DRYCC_VALKEY_PASSWORD " \
3649 --name " $CONTAINER_SLAVE1_NAME " \
@@ -45,6 +58,7 @@ start-valkey-slave1() {
4558start-valkey-slave2 () {
4659 podman run -d \
4760 --rm \
61+ --network " $NETWORK_NAME " \
4862 --env " REDISCLI_AUTH=$DRYCC_VALKEY_PASSWORD " \
4963 --env " DRYCC_VALKEY_PASSWORD=$DRYCC_VALKEY_PASSWORD " \
5064 --name " $CONTAINER_SLAVE2_NAME " \
@@ -59,6 +73,7 @@ start-valkey-slave2() {
5973start-valkey-proxy () {
6074 podman run -d \
6175 --rm \
76+ --network " $NETWORK_NAME " \
6277 --env " REDISCLI_AUTH=$DRYCC_VALKEY_PASSWORD " \
6378 --env " DRYCC_VALKEY_PASSWORD=$DRYCC_VALKEY_PASSWORD " \
6479 --name " $CONTAINER_PROXY_NAME " \
@@ -74,10 +89,12 @@ clean-valkey() {
7489 podman kill " $CONTAINER_SLAVE1_NAME "
7590 podman kill " $CONTAINER_SLAVE2_NAME "
7691 podman kill " $CONTAINER_MASTER_NAME "
92+ podman network rm -f " $NETWORK_NAME "
7793 } >> /dev/null 2>&1
7894}
7995
8096clean-valkey
97+ ensure-network
8198start-valkey-master
8299start-valkey-slave1
83100start-valkey-slave2
0 commit comments