- Replies:
- 0
- Words:
- 5939

Docker makes it incredibly simple to get a database up and running without cluttering your system. Here’s why it’s a great option:
sudo apt update && sudo apt install docker.io
Confirm it’s working:
docker --version
docker pull cockroachdb/cockroach
You can also pull a specific version, like:
docker pull cockroachdb/cockroach:v23.1.11
docker run -d --name cockroach-single \
-p 26257:26257 -p 8080:8080 \
cockroachdb/cockroach start-single-node \
--insecure
--name cockroach-single
: Names the container-p 26257:26257
: Maps the SQL port (default)-p 8080:8080
: Maps the Admin UI portstart-single-node
: Runs CockroachDB in single-node mode--insecure
: Enables HTTP and disables encryption (for dev only)Use --insecure
only in development environments. For production, always use secure mode with certificates.
http://localhost:8080
You’ll see stats like:
docker exec -it cockroach-single ./cockroach sql --insecure
This command opens the SQL CLI inside the container.SHOW DATABASES;
Or create a new database:
CREATE DATABASE testdb;
docker volume create cockroach-data
Then run the container with volume mounting:
docker run -d --name cockroach-single \
-p 26257:26257 -p 8080:8080 \
-v cockroach-data:/cockroach/cockroach-data \
cockroachdb/cockroach start-single-node \
--insecure
This way, your data survives container restarts.
Task | Command |
---|---|
Stop the container | docker stop cockroach-single |
Start the container | docker start cockroach-single |
Remove the container | docker rm -f cockroach-single |
Remove the volume | docker volume rm cockroach-data |
View logs | docker logs cockroach-single |
USE testdb;
CREATE TABLE users (
id SERIAL PRIMARY KEY,
username STRING NOT NULL,
email STRING UNIQUE NOT NULL
);
Then insert some sample data:
INSERT INTO users (username, email) VALUES ('alice', 'alice@example.com');
And fetch it:
SELECT * FROM users;
--secure
with certificates in production
image quote pre code