Starting CockroachDB in Single User Mode with a Dockerfile
A few months ago, I wrote a post showing how to start CockroachDB in single user mode on Docker using the docker run
command. This post shows how to do the same thing using a Dockerfile.
The Dockerfile
The docker file is very simple.
It pulls the latest image for CockroachDB.
Sets the user and password environment variables, so you can connect the database using a traditional database client.
Then it invokes the start-single-node
command with the --insecure
flag.
FROM cockroachdb/cockroach:latest
ENV COCKROACH_USER=root
ENV COCKROACH_PASSWORD=admin
CMD ["start-single-node", "--insecure"]
Build the image
Run the following command to build the image -
docker build -t cockroachdockerfile .
Start the container
The below command starts the container and exposes ports 26257 and 8080 to the host machine.
docker run -d --name=mycockroachdockerfile -p 26257:26257 -p 8080:8080 cockroachdockerfile
Connect to the SQL interface
Now all that is left is to connect to the SQL interface. Here I open the running container and use the cockroach
executable to connect to the database. But you can use a database client like Toad or Datagrip on port 26257 too.
docker exec -it mycockroachdockerfile ./cockroach sql --insecure
That’s it. You now have a single node CockroachDB running in Docker using a Dockerfile.