Couchbase Server 4.0 was recently released and can be downloaded and easily installed. Getting Started with Couchbase explains in very simple and easy steps on how to get started with Couchbase. But when living in a container world, everything is a Docker image. And Couchbase also has a Docker image.
This blog will explain how you can easily start a Couchbase Server 4.0 as a Docker image.
Install and Configure Docker
On Mac or Windows, this is achieved by install Docker Machine. Docker Machine to Setup Docker Host explain in detail on how to install and configure Docker Machine.
Here is a brief summary to get you started with Docker:
- Download Docker client:
> curl -L https://get.docker.com/builds/Darwin/x86_64/docker-1.8.3 > /usr/local/bin/docker % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 8664k 100 8664k 0 0 4139k 0 0:00:02 0:00:02 --:--:-- 4139k > chmod +x /usr/local/bin/docker
- Download Docker Machine script:
> curl -L https://github.com/docker/machine/releases/download/v0.4.1/docker-machine_darwin-amd64 > /usr/local/bin/docker-machine % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 586 0 586 0 0 1103 0 --:--:-- --:--:-- --:--:-- 1103 100 11.8M 100 11.8M 0 0 2733k 0 0:00:04 0:00:04 --:--:-- 3458k > chmod +x /usr/local/bin/docker-machine
- Create Docker Machine host:
> docker-machine create --driver=virtualbox default Creating VirtualBox VM... Creating SSH key... Starting VirtualBox VM... Starting VM... To see how to connect Docker to this machine, run: docker-machine env default
- Setup Docker client to connect to this host:
> eval $(docker-machine env default)
Now your current shell is configured where the Docker client can run containers on the Docker Machine.
Run Couchbase Docker Container
- Starting a Docker container on this machine is pretty straight forward. The CLI downloads the image from Docker Hub and then runs it on the Machine:
> docker run -d -p 8091:8091 couchbase Unable to find image 'couchbase:latest' locally latest: Pulling from library/couchbase ba2b457ecfb2: Pull complete 26180b0fe8fb: Pull complete edd7c1974a70: Pull complete 57bca5139a13: Pull complete 5eb89c4f7e1a: Pull complete 46b6bac823d2: Pull complete 6845430f4274: Pull complete 92d9ea0b826c: Pull complete c02a4d9a78c4: Pull complete 904ac92614ac: Pull complete e924e7d4b1dc: Pull complete bbe8a967cf05: Pull complete 35fb2c30481e: Pull complete 68eb883fd0c7: Pull complete fe1b3bdb1e2f: Pull complete library/couchbase:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security. Digest: sha256:388b710593a7a643c49bf38c4b16eb8e175dccac093e9aa8dea5bd2e2d326efd Status: Downloaded newer image for couchbase:latest 5b789d2319486ce8a4a4d6a866d8212dde1464601451b9a84a8d3bf80e8aa935
In this CLI, `run` command runs the container using the image id specified as the last argument, `-p` publish port `8091` from the container to `8091` on the Docker Machine, `-d` runs the container in background and prints the container id.
- Watch the container status as:
> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5b789d231948 couchbase "/entrypoint.sh couch" 7 minutes ago Up 7 minutes 8092/tcp, 11207/tcp, 11210-11211/tcp, 0.0.0.0:8091->8091/tcp, 18091-18092/tcp sick_yonath
- Find out IP address of the Docker Machine:
> docker-machine ip default 192.168.99.100
- Access the setup console at 192.168.99.100:8091, make sure to specify the exact IP address in your case. This will show the screen:
Configure Couchbase Server
First run of Couchbase Server requires you to configure it, lets do that next!
- Click on the Setup button. Scroll to bottom of the screen, change the Data RAM Quota to 500 (MB-16530), and click on Next.
- In Couchbase, data is stored in buckets. The server comes pre-installed with some sample buckets. Select the `travel-sample` bucket to install it and click on `Next`.
- Configure the bucket by taking defaults:
Click on ‘Next’.
- Enter personal details, agree to T&C, click on ‘Next’:
- Provide administrator credentials:Click on ‘Next’ to complete the installation. This brings up Couchbase Web Console:
It takes a few seconds for the `travel-sample` bucket to be fully loaded. And once that is done, your Couchbase server is ready to roll!
You can also watch the following presentation from Couchbase Connect: