Home » DevOps » Getting Started with Couchbase using Docker

About Arun Gupta

Arun is a technology enthusiast, avid runner, author of a best-selling book, globe trotter, a community guy, Java Champion, JavaOne Rockstar, JUG Leader, Minecraft Modder, Devoxx4Kids-er, and a Red Hatter.

Getting Started with Couchbase using Docker

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

Docker is natively supported on Linux. So apt get docker-engine on Ubuntu or yum install docker-engine on CentOS will get you ready to use 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:

  1. 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
    
  2. 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
    
  3. 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
    
  4. 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

  1. 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.

  2. 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
    
  3. Find out IP address of the Docker Machine:
    > docker-machine ip default
    192.168.99.100
  4. 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:
     
    couchbase-docker-getting-started-1-1024x691

Configure Couchbase Server

First run of Couchbase Server requires you to configure it, lets do that next!

  1. Click on the Setup button. Scroll to bottom of the screen, change the Data RAM Quota to 500 (MB-16530), and click on Next.
     
    couchbase-docker-getting-started-2-947x1024
  2. 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.
     
    couchbase-docker-getting-started-3-1024x625
  3. Configure the bucket by taking defaults:
     
    couchbase-docker-getting-started-4-933x1024

    Click on Next.
  4. Enter personal details, agree to T&C, click on Next:
     
    couchbase-docker-getting-started-5-1024x773
  5. Provide administrator credentials:
     
    couchbase-docker-getting-started-6-1024x629
    Click on Next to complete the installation. This brings up Couchbase Web Console:
     
    couchbase-docker-getting-started-7-1024x958

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:

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!

 

1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions

6. Spring Interview Questions

7. Android UI Design

 

and many more ....

 

Receive Java & Developer job alerts in your Area

I have read and agree to the terms & conditions

 

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments