Monthly Archives: April 2016

Setup Docker on Windows Server 2016

This multi-part blog series will show how to configure, build, and run Docker containers on Windows.

The first part showed how to setup Windows Server 2016 on Virtual Box for Docker Containers. This part will install the operating system images and configure Docker.

Instructions are available at

Install Windows Server 2016 Container Feature

Start PowerShell:

Install the container feature:

Restart the Virtual Machine:

Install Windows Server 2016 Base Docker Image

Base operating system can be installed using ContainerImage PowerShell module. Install the module as:windows-2016-docker-4

See the list of operating system images that are available:

Install the Windows Server Core base OS image:

Install Docker on Windows Server 2016

Download the script to install Docker:windows-2016-docker-8

Run the script:

Check Docker version:windows-2016-docker-11

Check the list of images and tag the base OS image to latest:windows-2106-docker-10

Check docker --help command:

Subsequent blogs will show how other fun things with Docker on Windows Server 2016!

Some further topics to read …


Windows Server 2016 using VirtualBox for Docker Containers

Windows Server 2016 is adding support for Docker containers. Technology Preview 5 was recently released and provides basic support for Docker. This multi-part blog series will show how to configure, build, and run Docker containers on Windows.

The first part shows how to install Windows Server 2016 using VirtualBox. A couple of tweaks are required in order to make sure Docker containers can be started later on, so read on!

Download Windows Server 2016

Download Windows Server 2016 Technology Preview 5 from

Download the ISO and install it using VirtualBox.

Windows Server 2016 Virtual Box Configuration

Switch to Expert Mode as some of the default configuration settings need to be updated.

Here are the screenshots of configuration.

Change memory to ~8GB.

Change disk space to 40GB. Default of 20 GB will not work for installing containers

Create a new virtual drive from the downloaded ISO:

Windows Server 2016 Configuration

Select the defaults:

Click on “Install Now” to start the install:

Enter the product key as specified in “Preinstall Information” section at

Select the Desktop version, otherwise just a command shell is started:windows-2016-install-7

Accept the license:

Choose “Custom” installation. “Upgrade” was getting stuck in an infinite loop:windows-2016-install-9

Take defaults:

Click on “Next” to start installation:

Create an administrator account:windows-2016-install-12

Click on Finish to come to the welcome screen:

Windows Server 2016 Login/Welcome

Use VirtualBox Input -> Keyboard menu to send Ctrl+Alt+Del to Windows to get the login screen:

Enter your password to see the opening screen:

As of this writing, it is in Technology Preview 5 and so the functionality and experience will evolve.

Stay tuned for subsequent blogs to actually configure, build and run Docker containers.


Couchbase Weekly, Apr 18, 2016

Learn what’s latest in the Couchbase Community.
Couchbase Developer Community

Let us know if we missed anything at @couchbasedev@couchbase or #Couchbase.

Couchbase Weekly




Couchbase Weekly


Media Mentions



Couchbase Weekly 3

Upcoming Events

Couchbase Meetups


  • March 18 – April 20: Building a full stack application with NoSQL, Go, and Angular 2
    US Registration
    EMEA Registration

    • 201 – Bootstrapping an application using Couchbase and Go
    • 202 – Application logic, data model, and validation
    • 203 – Build a responsive front end with Angular 2.0 & Bootstrap
    • 204 – Built-in URL permalinking & minification
    • 205 – Mobile-first development with Nativescript


  • Transitioning from #MySQL to #NoSQL? Learn the key differences between #RDBMS and #Couchbase:
  • Using #BigData tools in your #NoSQL project? Learn how to load CSV data using #Spark and #Couchbase. via @DZone
  • Key drivers for use of #opensource – revealed in #FutureOSS results webinar 4/27 @ 2PM ET. Join us:
  • See why companies like IBM, Tableau and Intel are partnering with #Couchbase. Find or become a partner today:
  • Learn everything you need to know about #NoSQL for free with a new NoSQL Database Podcast: hosted by #Couchbase


DevRelCon San Francisco 2016 is a wrap!

DevRelCon San Francisco 2016 is a wrap!


This event was started as a one day single track conference for technical evangelists, developer advocates and anyone interested in developer relations in London by @matthewrevell. @mewzherder and I partnered with him to bring the event to the United States.

The inaugural event had 15 speakers, 15 sponsors, 100+ attendees from 10 different countries (from the United States of America and around the world to Japan).

The craft of #DevRel has become mainstream in the past few years. You can call us as a technology evangelist, developer advocate, API evangelist, platform evangelist, or any other name. And yes we can passionately debate about what is the right name. But essentially we help other users, whether they are developers, customers, architects, partners, or any body else, be an effective user of our technology/stack/product. We have our tools, tricks, metrics, highs and lows, common issues and connect at multiple levels. But still there is no event that talks about us a community.

This effort is to provide #DevRel community a platform to come together and discuss the topics that matter to us.

What makes this conference unique?

  • This event is by #DevRel, for #DevRel, and to #DevRel
  • Learn from the leading practitioners in the craft of #DevRel
  • You learn best practices, horror stories, and lessons learned from the trenches
  • You meet similar minded people – whether you are a one person startup or leading/participating in a team of 100s of #DevRel. Everybody learns!
  • No selling products, services, and surveys. Sponsors surely play an important role but as organizers, we are leaving and breathing #DevRel every day. This is our passion and purpose!

Twitterverse was quite active through out the conference! ~1500 tweets were well scattered through out the day with the highest frequency during @codepo8‘s session:

DevRelCon Tweets

Generated using TalkWalker social media search.

Here are some tweets that capture the feedback from #DevRelCon

We are pleased with the results for a community-driven, volunteer-based first shot at this conference in the US!

Content and the speakers are the backbone of any conference. A very warm thanks to @beardigsit, @adamd, @timfalls, @DevRelChap, @gracefr, @codepo8@kestelyn, @joshmarinacci, @grepory, @jbaruch, @rhatr, @dn0t, @qiqing, @bwest for taking time out for our inaugural event and showing that #DevRel matters!

Many thanks to all the great sponsors – @twilio, @mparticles, @intuitdev, @developer_media, @bemyapp, @awscloud, @hitchhq, @devrelco, @atlassian, @sendgrid, @microsoft, @oreillymedia, @sv_code_camp, @heavybit and @womenwhocode. We are glad that they believed in our first time event and showed their enthusiasm and support. This allowed us to not put our personal $$ 😉

A special thanks to @MSFTReactor for their generosity with time, $$ and space. @TobiahZarlez stayed on site all day for streamlined operations at the facility.

It takes a village to run a conference! And this event was certainly not possible without the support of fantastic and very helpful volunteers. In particular, @nlycskn@yenerm, @c_r_w, @jbaruch and @gwendalpointeau were very instrumental in making sure the attendees were well fed, speakers were micd, sessions were recorded, and they were finishing on time. And there were plenty of students from the University of San Francisco (@usfca) to help out as well.

And of course, this was not possible without countless hours put in together along with @mewzherder and @matthewrevell.

Over all, a very satisfying, humbling and an extreme learning experience!

Check out the complete photo album.

All sessions were recorded and will be released in the coming weeks.

Where do you find further information?

Stay tuned!

Couchbase Weekly, Apr 11, 2016

Learn what’s latest in the Couchbase Community.
Couchbase Developer Community

Let us know if we missed anything at @couchbasedev@couchbase or #Couchbase.

Couchbase Weekly

  • No events this week

Couchbase Weekly


Media Mentions


Couchbase Weekly 3

Upcoming Events

Couchbase Meetups


  • March 18 – April 20: Building a full stack application with NoSQL, Go, and Angular 2
    US Registration
    EMEA Registration

    • 201 – Bootstrapping an application using Couchbase and Go
    • 202 – Application logic, data model, and validation
    • 203 – Build a responsive front end with Angular 2.0 & Bootstrap
    • 204 – Built-in URL permalinking & minification
    • 205 – Mobile-first development with Nativescript
  • April 14: Build Better Mobile Apps with NoSQL


  • Learn the differences and similarities between relational and document oriented databases in 2 minutes:
  • Enterprises are adopting modern databases like #Couchbase “citing grow flexibility as the top benefit” Learn more:
  • High performance distributed caching: #Couchbase scales your #mobile #web #IoT apps. Learn how:
  • Get professional advice from the #Couchbase services team on everything from #JSON modeling to using #SQL for #NoSQL
  • Tweet This: Leverage #Couchbase’s Spark connector and get started with Apache Zeppelin to dive into interactive data analytics:


Monitoring Docker Containers – docker stats, cAdvisor, Universal Control Plane

There are multiple ways to monitor Docker containers. This blog will explain a few simple and easy to use options:

  1. docker stats command
  2. Docker Remote API
  3. cAdvisor
    1. Prometheus
    2. InfluxDB
  4. Docker Universal Control Plane

Lets take a look at each one of them.

We’ll use a Couchbase server to gather the monitoring data.

Lets start the server as:

arungupta/couchbase image is explained at It performs:

  • Sets up memory for Index and Data service
  • Configures the Couchbase server for Index, Data, and Query service
  • Sets up username and password credentials

Now lets gather monitoring data.

docker stats

docker stats display a live stream of the following container(s) resource usage statistics:

  • CPU % usage
  • Memory usage, limit, % usage
  • Network i/o
  • Disk i/o

The stats are updated every second.

Here is a sample output:

By default, this command display statistics for all the running containers. A list of container names or ids can be specified, separated by a space, to restrict the stream to a subset of running containers.

For example, stats for only the Couchbase container can be seen as:

where couchbase is the container name.

And the output looks like:

--no-stream option can be specified where only the first snapshot is displayed and results are not streamed.

The Docker Logentries Container can be used to collect this data.

Docker Remote API

Docker daemon provides a Remote REST API. This API is used by the Client to communicate with the engine. This API can be also be invoked by by other tools, such as curl or Chrome Postman REST Client. If you are creating Docker daemons using Docker Machine on OSX Mavericks, then getting this API to work is a bit tricky.

If you are on Mac, follow the instructions in Enable Docker Remote API to ensure curl can invoke this REST API.

The API that provide stats about the container is /containers/{id}/stats or /containers/{name}/stats.

Then more stats about the container can be obtained as:

The following result (formatted) is shown:

There is lot more details on memory, disk, and network. A new set of metrics are pushed every second.


cAdvisor or Container Advisor provide host and container metrics. It is a running daemon that collects, aggregates, processes, and exports information about running containers.

Let’s start the cAdvisor container:

cAdvisor dashboard shows data for the last 60 seconds only. However multiple backends, such as Prometheus and InfluxDB, are supported that allows long term storage, retrieval and analysis.

Use Couchbase Query Tool to connect with the Couchbase Server:

Invoke a N1QL query:
cAdvisor only store one minute of data and here is a capture of the dashboard:


And memory usage:cadvisor-total-memory-usage

There are plenty of tools that can use the data generated by cAdvisor and show them in a nice dashboard.

More details are available at

Docker Universal Control Plane

Docker Universal Control Plane (DUCP) allows to manage and deploy Dockerized distributed applications, all from within the firewall. It integrates with key systems like LDAP/AD to manage users and provides and interface for IT operations teams to deploy and manage. RBAC, SSO integration with Docker Trusted Registry, simple and easy to use web UI are some of the key features. Read product overview for complete set of features.

Docker Universal Control Plan with Docker Machine is the easiest way to experience this on your local machine. The instructions are very detailed and work out of the box. Here are some images after deploying a Couchbase image.

DUCP installation consists of an DUCP controller and one or more hosts. These are configured in a Docker Swarm cluster. And then containers are started on these clusters:

Docker Universal Control Plane Image


Port mapping is easily defined:

Docker Universal Control Port Mapping

Once the container is running, monitoring stats can be seen:Docker Universal Control Monitoring Stats

And finally the pretty looking dashboard:

Docker Universal Control Plane Dashboard

A client bundle is provided that shows the information about the Docker Swarm cluster as:

There are plenty of tools that provide monitoring data:

docker stats and Docker Remote API are certainly the easiest one to give you first snapshot of your monitoring data. And it only becomes interesting from there!

Couchbase Mobile at Xamarin Evolve

Couchbase Mobile Xamarin Evolve 2016

Couchbase Mobile will be at Xamarin Evolve 2016!

Couchbase Mobile comes with three components:

  • Couchbase Lite – A fully functional, on-device, lightweight, native, embedded NoSQL database.
  • Sync Gateway – Everything you need to securely sync on-device Couchbase Lite with Couchbase Server in the cloud.
  • Couchbase Server – A high performance, scalable, always-on NoSQL database in the cloud.

Couchbase Mobile can be installed on iOS, Android, Xamarin and a variety of other platforms.

Zack Gramana is Couchbase Mobile Product Manager. In this brief interview, he talks about why Couchbase Mobile is the right choice as a mobile database on Xamarin:

Here are the specific questions that are discussed:

  • Quick introduction to Couchbase Mobile
  • Why Xamarin developers should care about Couchbase Mobile?
  • How can Xamarin developers get started with Couchbase Mobile?
  • What are other mobile databases typically run on Xamarin? How is Couchbase different?
  • What talk are you giving at Xamarin Evolve? Why should developers attend that talk?
  • What are you showing at the booth?

Want to get started? Follow to

Make sure to stop by the Couchbase booth at Xamarin Evolve!