Start a database instance within a few seconds on you machine.
Start in basic configuration:
docker network create custom-network
rm -R ~/postgresql_data/
mkdir ~/postgresql_data/
docker run --name postgresql --net custom-network \
-e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=password \
-p 5432:5432 \
-v ~/postgresql_data/:/var/lib/postgresql/data -d postgres:13.8
Start with PostGIS:
docker network create custom-network
rm -R ~/postgresql_data/
mkdir ~/postgresql_data/
docker run --name postgresql --net custom-network \
-e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=password \
-p 5432:5432 \
-v ~/postgresql_data/:/var/lib/postgresql/data -d postgis/postgis:15-3.3
Start with pgvector:
docker network create custom-network
rm -R ~/postgresql_data/
mkdir ~/postgresql_data/
docker run --name postgresql --net custom-network \
-e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=password \
-p 5432:5432 \
-v ~/postgresql_data/:/var/lib/postgresql/data -d ankane/pgvector:latest
Start with pg_vectorize
rm -R ~/postgresql_data/
mkdir ~/postgresql_data/
docker run -d --name postgresql --net custom-network \
-e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=password \
-p 5432:5432 \
-v ~/postgresql_data/:/var/lib/postgresql/data \
-d quay.io/tembo/vectorize-pg:latest
Start with PostgresML
rm -R ~/postgresql_data/
mkdir ~/postgresql_data/
docker run -d --name postgresql --net custom-network \
-e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=password \
-p 5432:5432 \
-v ~/postgresql_data/:/var/lib/postgresql/data \
-d ghcr.io/postgresml/postgresml:2.7.12
and connect:
psql -h 127.0.0.1 --username=postgres
Connec to Postgres on your Ubuntu machine in GCP that runs a standalone instance:
sudo -u postgres psql
Getting started: https://www.oracle.com/database/free/get-started/
Start:
mkdir ~/oracle_data
docker run --name oracle \
-p 1521:1521 \
-e ORACLE_PWD=password \
-d container-registry.oracle.com/database/free
And connect:
sqlplus sys@localhost:1521/FREE as sysdba
rm -R $HOME/mysql_data
mkdir $HOME/mysql_data
docker run --name mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_DATABASE=db \
-e MYSQL_USER=user \
-e MYSQL_PASSWORD=password \
-v $HOME/mysql_data:/var/lib/mysql \
-d mcr.microsoft.com/azure-sql-edge:latest
rm -R $HOME/sqlserver_data
mkdir $HOME/sqlserver_data
docker run --name sqlserver --hostname sqlserver \
-e "ACCEPT_EULA=Y" \
-e "MSSQL_SA_PASSWORD=MyStrong@Pwd1" \
-p 1433:1433 \
-v $HOME/sqlserver_data:/var/opt/mssql \
-d mcr.microsoft.com/mssql/server:2022-latest
Connect with:
- username -
sa
- provided password
- database -
master
rm -r ~/yb_docker_data
mkdir ~/yb_docker_data
docker network create custom-network
docker run -d --name yugabytedb_node1 --net custom-network \
-p 15433:15433 -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 \
--base_dir=/home/yugabyte/yb_data --daemon=false
and connect with psql
psql -h 127.0.0.1 -p 5433 yugabyte -U yugabyte -w
Start
rm -r ~/yb_docker_data
mkdir ~/yb_docker_data
docker network create custom-network
docker run -d --name yugabytedb-node1 --net custom-network \
-p 15433:15433 -p 7001:7000 -p 9001:9000 -p 5433:5433 \
-v ~/yb_docker_data/node1:/home/yugabyte/yb_data --restart unless-stopped \
yugabytedb/yugabyte:2.20.0.2-b1 \
bin/yugabyted start \
--master_flags="ysql_num_shards_per_tserver=3" --tserver_flags="ysql_num_shards_per_tserver=3" \
--base_dir=/home/yugabyte/yb_data --daemon=false
while ! docker exec -it yugabytedb-node1 postgres/bin/pg_isready -U yugabyte -h yugabytedb-node1; do sleep 1; done
docker run -d --name yugabytedb-node2 --net custom-network \
-p 15434:15433 -p 7002:7000 -p 9002:9000 -p 5434:5433 \
-v ~/yb_docker_data/node2:/home/yugabyte/yb_data --restart unless-stopped \
yugabytedb/yugabyte:2.20.0.2-b1 \
bin/yugabyted start --join=yugabytedb-node1 \
--master_flags="ysql_num_shards_per_tserver=3" --tserver_flags="ysql_num_shards_per_tserver=3" \
--base_dir=/home/yugabyte/yb_data --daemon=false
docker run -d --name yugabytedb-node3 --net custom-network \
-p 15435:15433 -p 7003:7000 -p 9003:9000 -p 5435:5433 \
-v ~/yb_docker_data/node3:/home/yugabyte/yb_data --restart unless-stopped \
yugabytedb/yugabyte:2.20.0.2-b1 \
bin/yugabyted start --join=yugabytedb-node1 \
--master_flags="ysql_num_shards_per_tserver=3" --tserver_flags="ysql_num_shards_per_tserver=3" \
--base_dir=/home/yugabyte/yb_data --daemon=false
and connect with psql
psql -h 127.0.0.1 -p 5433 yugabyte -U yugabyte -w
and confirm all three nodes are started: http://127.0.0.1:7001
Start
mkdir ~/yb_docker_data
docker network create custom-network
docker run -d --name yugabytedb_node_us --net custom-networkk -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 custom-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 custom-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 custom-network
rm -r ~/yb_docker_data