Start a database instance within a few seconds on you machine.
Start
docker run --name postgresql -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=password \
-p 5432:5432 -v ~/postgresql_data/:/var/lib/postgresql/data -d postgres
and connect:
psql -h 127.0.0.1 --username=postgres
Start
rm -r ~/yb_docker_data
mkdir ~/yb_docker_data
docker network create yugabytedb_network
docker run -d --name yugabytedb_node1 --net yugabytedb_network \
-p 7001:7000 -p 9000:9000 -p 5433:5433 \
-v ~/yb_docker_data/node1:/home/yugabyte/yb_data --restart unless-stopped \
yugabytedb/yugabyte:latest \
bin/yugabyted start --listen=yugabytedb_node1 \
--base_dir=/home/yugabyte/yb_data --daemon=false
docker run -d --name yugabytedb_node2 --net yugabytedb_network \
-v ~/yb_docker_data/node2:/home/yugabyte/yb_data --restart unless-stopped \
yugabytedb/yugabyte:latest \
bin/yugabyted start --join=yugabytedb_node1 --listen=yugabytedb_node2 \
--base_dir=/home/yugabyte/yb_data --daemon=false
docker run -d --name yugabytedb_node3 --net yugabytedb_network \
-v ~/yb_docker_data/node3:/home/yugabyte/yb_data --restart unless-stopped \
yugabytedb/yugabyte:latest \
bin/yugabyted start --join=yugabytedb_node1 --listen=yugabytedb_node3 \
--base_dir=/home/yugabyte/yb_data --daemon=false
and connect
psql -h 127.0.0.1 -p 5433 yugabyte -U yugabyte -w
Start
mkdir ~/yb_docker_data
docker network create yugabytedb_network
docker run -d --name yugabytedb_node_us --net yugabytedb_network -p 7001:7000 -p 9000:9000 -p 5433:5433 \
-v ~/yb_docker_data/node_us:/home/yugabyte/yb_data --restart unless-stopped \
yugabytedb/yugabyte:latest bin/yugabyted start --listen=yugabytedb_node_us \
--base_dir=/home/yugabyte/yb_data --daemon=false \
--master_flags="placement_zone=A,placement_region=US,placement_cloud=CLOUD" \
--tserver_flags="placement_zone=A,placement_region=US,placement_cloud=CLOUD"
docker run -d --name yugabytedb_node_eu --net yugabytedb_network \
-v ~/yb_docker_data/node_eu:/home/yugabyte/yb_data --restart unless-stopped \
yugabytedb/yugabyte:latest bin/yugabyted start --join=yugabytedb_node_us --listen=yugabytedb_node_eu \
--base_dir=/home/yugabyte/yb_data --daemon=false \
--master_flags="placement_zone=A,placement_region=EU,placement_cloud=CLOUD" \
--tserver_flags="placement_zone=A,placement_region=EU,placement_cloud=CLOUD"
docker run -d --name yugabytedb_node_apac --net yugabytedb_network \
-v ~/yb_docker_data/node_apac:/home/yugabyte/yb_data --restart unless-stopped \
yugabytedb/yugabyte:latest bin/yugabyted start --join=yugabytedb_node_us --listen=yugabytedb_node_apac \
--base_dir=/home/yugabyte/yb_data --daemon=false \
--master_flags="placement_zone=A,placement_region=APAC,placement_cloud=CLOUD" \
--tserver_flags="placement_zone=A,placement_region=APAC,placement_cloud=CLOUD"
Modify placement:
docker exec -i yugabytedb_node_us \
yb-admin -master_addresses yugabytedb_node_us:7100,yugabytedb_node_eu:7100,yugabytedb_node_apac:7100 \
modify_placement_info CLOUD.US.A,CLOUD.EU.A,CLOUD.APAC.A 3
and connect:
psql -h 127.0.0.1 -p 5433 yugabyte -U yugabyte -w
docker container stop $(docker ps -aq)
docker container rm -v $(docker ps -aq)
docker network rm yugabytedb_network
rm -r ~/yb_docker_data