<!DOCTYPE html>

<!--[if IE 7]>
<html class="ie ie7"  prefix="og: http://ogp.me/ns#">
<![endif]-->
<!--[if IE 8]>
<html class="ie ie8"  prefix="og: http://ogp.me/ns#">
<![endif]-->
<!--[if !(IE 7) & !(IE 8)]><!-->
<html prefix="og: http://ogp.me/ns#">
<!--<![endif]-->
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<meta content="width=device-width" name="viewport"/>
<link href="https://gmpg.org/xfn/11" rel="profile" />
<link href="https://blog.arungupta.me/xmlrpc.php" rel="pingback" />
<!--[if lt IE 9]>
	<script src="http://blog.arungupta.me/wp-content/themes/twentythirteen/js/html5.js"></script>
	<![endif]-->
<style media="screen" type="text/css">@import "wp-content/plugins/wp-custom-fields-search/templates/searchforms.css";</style>
<!-- This site is optimized with the Yoast SEO plugin v3.2.5 - https://yoast.com/wordpress/plugins/seo/ -->
<title>Miles Forskolin to go 4.0 ... - Arun Gupta 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, NetBeans Dream Teamer, Devoxx4Kids-er, Docker Captain and works at AWS.</title>
<link href="https://blog.arungupta.me" rel="canonical" />
<meta content="Arun Gupta 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, NetBeans Dream Teamer, Devoxx4Kids-er, Docker Captain and works at AWS." name="description"/>
<meta content="noodp" name="robots">
<link href="page/2/" rel="next"/>
<meta content="en_US" property="og:locale"/>
<meta content="website" property="og:type"/>
<meta content="Miles to go 4.0 ... - Arun Gupta 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, NetBeans Dream Teamer, Devoxx4Kids-er, Docker Captain and works at AWS." property="og:title"/>
<meta content="Arun Gupta 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, NetBeans Dream Teamer, Devoxx4Kids-er, Docker Captain and works at AWS." property="og:description"/>
<meta content="http://blog.arungupta.me/" property="og:url"/>
<meta content="Miles to go 4.0 ..." property="og:site_name"/>
<meta content="summary" name="twitter:card"/>
<meta content="Arun Gupta 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, NetBeans Dream Teamer, Devoxx4Kids-er, Docker Captain and works at AWS." name="twitter:description"/>
<meta content="Miles to go 4.0 ... - Arun Gupta 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, NetBeans Dream Teamer, Devoxx4Kids-er, Docker Captain and works at AWS." name="twitter:title"/>
<meta content="@arungupta" name="twitter:site"/>
<script type="application/ld+json">{"@context":"http:\/\/schema.org","@type":"WebSite","url":"http:\/\/blog.arungupta.me\/","name":"Miles to go 4.0 ...","potentialAction":{"@type":"SearchAction","target":"http:\/\/blog.arungupta.me\/?s={search_term_string}","query-input":"required name=search_term_string"}}</script>
<script type="application/ld+json">{"@context":"http:\/\/schema.org","@type":"Person","url":"http:\/\/blog.arungupta.me","sameAs":["https:\/\/twitter.com\/arungupta"],"name":"Arun Gupta"}</script>
<!-- / Yoast SEO plugin. -->
<script type="text/javascript">
			window._wpemojiSettings = {"baseUrl":"http:\/\/s.w.org\/images\/core\/emoji\/72x72\/","ext":".png","source":{"concatemoji":"wp-includes/js/wp-emoji-release.min_ver-4.3.19.js"}};
			!function(a,b,c){function d(a){var c=b.createElement("canvas"),d=c.getContext&&c.getContext("2d");return d&&d.fillText?(d.textBaseline="top",d.font="600 32px Arial","flag"===a?(d.fillText(String.fromCharCode(55356,56812,55356,56807),0,0),c.toDataURL().length>3e3):(d.fillText(String.fromCharCode(55357,56835),0,0),0!==d.getImageData(16,16,1,1).data[0])):!1}function e(a){var c=b.createElement("script");c.src=a,c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f,g;c.supports={simple:d("simple"),flag:d("flag")},c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.simple&&c.supports.flag||(g=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1)):(a.attachEvent("onload",g),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);
		</script>
<style type="text/css">
img.wp-smiley,
img.emoji {
	display: inline !important;
	border: none !important;
	box-shadow: none !important;
	height: 1em !important;
	width: 1em !important;
	margin: 0 .07em !important;
	vertical-align: -0.1em !important;
	background: none !important;
	padding: 0 !important;
}
</style>
<link href="wp-content/plugins/yet-another-related-posts-plugin/style/widget_ver-4.3.19.css" id="yarppWidgetCss-css" media="all" rel="stylesheet" type="text/css">
<link href="wp-content/plugins/sociable/css/sociable_ver-4.3.19.css" id="sociablecss-css" media="all" rel="stylesheet" type="text/css">
<link href="wp-content/plugins/crayon-syntax-highlighter/css/min/crayon.min_ver-_2.7.2_beta.css" id="crayon-css" media="all" rel="stylesheet" type="text/css"/>
<link href="wp-content/plugins/crayon-syntax-highlighter/themes/coda-special-board/coda-special-board_ver-_2.7.2_beta.css" id="crayon-theme-coda-special-board-css" media="all" rel="stylesheet" type="text/css"/>
<link href="wp-content/plugins/crayon-syntax-highlighter/fonts/monaco_ver-_2.7.2_beta.css" id="crayon-font-monaco-css" media="all" rel="stylesheet" type="text/css"/>
<link href="wp-content/plugins/better-click-to-tweet/assets/css/styles_ver-3.0.css" id="bcct_style-css" media="all" rel="stylesheet" type="text/css"/>
<link href="wp-content/plugins/captcha/css/front_end_style_ver-4.3.0.css" id="cptch_stylesheet-css" media="all" rel="stylesheet" type="text/css"/>
<link href="wp-includes/css/dashicons.min_ver-4.3.19.css" id="dashicons-css" media="all" rel="stylesheet" type="text/css"/>
<link href="wp-content/plugins/captcha/css/desktop_style_ver-4.3.0.css" id="cptch_desktop_style-css" media="all" rel="stylesheet" type="text/css"/>
<link href="wp-content/plugins/jquery-collapse-o-matic/light_style_ver-1.6.css" id="collapseomatic-css-css" media="all" rel="stylesheet" type="text/css"/>
<link href="wp-content/themes/twentythirteen/style_ver-4.3.19.css" id="parent-style-css" media="all" rel="stylesheet" type="text/css"/>
<link href="wp-content/themes/twentythirteen-child/style_ver-4.3.19.css" id="child-style-css" media="all" rel="stylesheet" type="text/css"/>
<link href="//fonts.googleapis.com/css?family=Source+Sans+Pro%3A300%2C400%2C700%2C300italic%2C400italic%2C700italic%7CBitter%3A400%2C700&amp;subset=latin%2Clatin-ext" id="twentythirteen-fonts-css" media="all" rel="stylesheet" type="text/css"/>
<link href="wp-content/themes/twentythirteen/genericons/genericons_ver-3.03.css" id="genericons-css" media="all" rel="stylesheet" type="text/css"/>
<link href="wp-content/themes/twentythirteen-child/style_ver-2013-07-18.css" id="twentythirteen-style-css" media="all" rel="stylesheet" type="text/css"/>
<!--[if lt IE 9]>
<link rel='stylesheet' id='twentythirteen-ie-css'  href='http://blog.arungupta.me/wp-content/themes/twentythirteen/css/ie.css?ver=2013-07-18' type='text/css' media='all' />
<![endif]-->
<script src="wp-includes/js/jquery/jquery_ver-1.11.3.js" type="text/javascript"></script>
<script src="wp-includes/js/jquery/jquery-migrate.min_ver-1.2.1.js" type="text/javascript"></script>
<script src="wp-content/plugins/sociable/js/sociable_ver-4.3.19.js" type="text/javascript"></script>
<script src="wp-content/plugins/sociable/js/vuible_ver-4.3.19.js" type="text/javascript"></script>
<script src="wp-content/plugins/sociable/js/addtofavorites_ver-4.3.19.js" type="text/javascript"></script>
<script type="text/javascript">
/* <![CDATA[ */
var CrayonSyntaxSettings = {"version":"_2.7.2_beta","is_admin":"0","ajaxurl":"/","prefix":"crayon-","setting":"crayon-setting","selected":"crayon-setting-selected","changed":"crayon-setting-changed","special":"crayon-setting-special","orig_value":"data-orig-value","debug":""};
var CrayonSyntaxStrings = {"copy":"Press %s to Copy, %s to Paste","minimize":"Click To Expand Code"};
/* ]]> */
</script>
<script src="wp-content/plugins/crayon-syntax-highlighter/js/min/crayon.min_ver-_2.7.2_beta.js" type="text/javascript"></script>
<link href="https://blog.arungupta.me/xmlrpc.php?rsd" rel="EditURI" title="RSD" type="application/rsd+xml" />
<link href="https://blog.arungupta.me/wp-includes/wlwmanifest.xml" rel="wlwmanifest" type="application/wlwmanifest+xml" />
<meta content="WordPress 4.3.19" name="generator"/>
<script type="text/javascript">var base_url_sociable = 'http://blog.arungupta.me/wp-content/plugins/sociable/'</script><script src="https://apis.google.com/js/plusone.js" type="text/javascript"></script><script type="text/javascript">var _gaq=_gaq||[];_gaq.push(["_setAccount","UA-44932866-1"]);_gaq.push(["_trackPageview"]);(function(){var ga=document.createElement("script");ga.type="text/javascript";ga.async=true;ga.src=("https:"==document.location.protocol?"https://ssl":"http://www")+".google-analytics.com/ga.js";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga,s);})();</script><!-- Open Graph Meta Data by WP-Open-Graph plugin-->
<meta content="Miles to go 4.0 ..." property="og:site_name"/>
<meta content="en_us" property="og:locale"/>
<meta content="website" property="og:type"/>
<meta content="Miles to go 2.0 ..." property="og:title"/>
<meta content="http://blog.arungupta.me/" property="og:url"/>
<meta content="Arun Gupta 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." property="og:description"/>
<meta content="wp-content/uploads/2013/10/arun-feb25-2012.png" property="og:image"/>
<!-- /Open Graph Meta Data -->
<script src="wp-content/plugins/wp-spamshield/js/jscripts_php.js" type="text/javascript"></script>
</link></link></meta></head>
<body class="home blog single-author">
<div class="hfeed site" id="page">
<header class="site-header" id="masthead" role="banner">
<a class="home-link" href="/" rel="home" title="Miles to go 4.0 …">
<h1 class="site-title">Forskolin Miles to go 4.0 …</h1>
<h2 class="site-description">Arun Gupta 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, NetBeans Dream Teamer, Devoxx4Kids-er, Docker Captain and works at AWS.</h2>
</a>
<div class="navbar" id="navbar">
<nav class="navigation main-navigation" id="site-navigation" role="navigation">
<button class="menu-toggle">Menu</button>
<a class="screen-reader-text skip-link" href="#content" title="Skip to content">Skip to content</a>
<div class="menu-main-menu-container"><ul class="nav-menu" id="primary-menu"><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-11257" id="menu-item-11257"><a href="/">Home</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-11258" id="menu-item-11258"><a href="about/">About</a>
<ul class="sub-menu">
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11259" id="menu-item-11259"><a href="about/photos/">Photos</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11260" id="menu-item-11260"><a href="about/speaking-credentials/">Speaking Credentials</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12744" id="menu-item-12744"><a href="about/races/">Races</a></li>
</ul>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-11264" id="menu-item-11264"><a href="books/">My Books &amp; Videos</a>
<ul class="sub-menu">
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-14629" id="menu-item-14629"><a href="books/">My Books</a>
<ul class="sub-menu">
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14238" id="menu-item-14238"><a href="books/docker-for-java-developers/">Docker for Java Developers</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12721" id="menu-item-12721"><a href="books/minecraft-modding-forge/">Minecraft Modding with Forge</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11266" id="menu-item-11266"><a href="books/java-ee-7-essentials/">Java EE 7 Essentials</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11915" id="menu-item-11915"><a href="books/javaee7-html5-enterprise-application-development/">Java EE 7 and HTML5 Enterprise Application Development</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11265" id="menu-item-11265"><a href="books/java-ee-6-pocket-guide/">Java EE 6 Pocket Guide</a></li>
</ul>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-14628" id="menu-item-14628"><a href="my-video-courses/">My Video Courses</a>
<ul class="sub-menu">
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14636" id="menu-item-14636"><a href="my-video-courses/docker-for-java-play-by-play/">Docker for Java Play by Play (Pluralsight)</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12205" id="menu-item-12205"><a href="my-video-courses/javaee7-video-course/">Java EE 7 Video Course</a></li>
</ul>
</li>
</ul>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14702" id="menu-item-14702"><a href="talks/">Talks</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12043" id="menu-item-12043"><a href="devoxx4kids/">Devoxx4Kids</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12042" id="menu-item-12042"><a href="archives-3/">Archives</a></li>
</ul></div> <form action="/" class="search-form" method="get" role="search">
<label>
<span class="screen-reader-text">Search for:</span>
<input class="search-field" name="s" placeholder="Search …" title="Search for:" type="search" value=""/>
</label>
<input class="search-submit" type="submit" value="Search"/>
</form> </nav><!-- #site-navigation -->
</div><!-- #navbar -->
</header><!-- #masthead -->
<div class="site-main" id="main">
<div class="content-area" id="primary">
<div class="site-content" id="content" role="main">
<article class="post-14772 post type-post status-publish format-standard hentry category-containers tag-containers tag-kubernetes" id="post-14772">
<header class="entry-header">
<h1 class="entry-title">
<a href="gossip-kubernetes-aws-kops/" rel="bookmark">Gossip-based Kubernetes Cluster on AWS using Kops</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="gossip-kubernetes-aws-kops/" rel="bookmark" title="Permalink to Gossip-based Kubernetes Cluster on AWS using Kops"><time class="entry-date" datetime="2017-06-22T12:26:33+00:00">June 22, 2017</time></a></span><span class="categories-links"><a href="topics/containers/" rel="category tag">containers</a></span><span class="tags-links"><a href="tag/containers/" rel="tag">containers</a>, <a href="/" rel="tag">kubernetes</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p><a href="multimaster-kubernetes-cluster-amazon-kops/">Creating a Kubernetes cluster using Kops</a> requires a top-level domain or a sub domain and setting up Route 53 hosted zones. This domain allows the worker nodes to discover the master and the master to discover all the etcd servers. This is also needed for <code>kubectl</code> to be able to talk directly with the master. This worked well but an additional hassle for the developers.</p><div class="ext-content" style="margin:20px 0; color:inherit;"><p>Maintaining a reliable software engineering blog requires an architecture that can seamlessly handle spikes in traffic without slowing down page delivery. In cellular networks, managing structural signals under stress relies on immediate response loops, which are widely analyzed using <strong><u><a href="https://www.selleckchem.com/products/forskolin-colforsin-camp-activator.html" style="color: blue; font-weight: bold; text-decoration: underline;" target="_blank">Forskolin</a></u></strong>. By directly stimulating adenylate cyclase, this natural compound rapidly boosts intracellular cyclic AMP (cAMP) levels without needing cell-surface receptors. Using this chemical trigger allows researchers to observe how secondary messengers coordinate vital downstream operations like metabolic adjustments and enzyme activation.</p><div class="related-articles" style="margin: 25px 0; padding: 15px 0; border-top: 1px double #555; border-bottom: 1px double #555;"><strong style="display:block; margin-bottom:8px;">Scientific Reference &amp; Updates:</strong><ul style="list-style: square; padding-left: 20px; margin: 0;"><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/key-concepts-kubernetes/" style="color: inherit; text-decoration: underline;">Key Concepts Navitoclax  Bcl-2 inhibitor of Kubernetes</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/database-migrations-in-javaee-flyway-hanginar6/" style="color: inherit; text-decoration: underline;">Database Migrations AMG510 in Java EE using Flyway (Hanginar #6)</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/rest-vs-websocket-comparison-benchmarks/" style="color: inherit; text-decoration: underline;">CDK4/6-IN-6 REST vs WebSocket Comparison and Benchmarks</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/2014/03/wildfly8-jdk8-netbeans8-javaee7-excellent-combo-enterprise-java/" style="color: inherit; text-decoration: underline;">WildFly 8, JDK Pidnarulex 8, NetBeans 8, Java EE 7: Excellent combo for enterprise Ja...</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/docker-container-linking-across-multiple-hosts-techtip69/" style="color: inherit; text-decoration: underline;">Docker Nab-Paclitaxel Microtubule Polymer stabilizer container linking across multipl...</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/microservice-design-patterns/" style="color: inherit; text-decoration: underline;">Microservice LEE011 Design Patterns</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/jdk9-repl-getting-started/" style="color: inherit; text-decoration: underline;">diABZI STING agonist-1 (tautomerism) JDK 9 REPL: Getting Started (Tech Tip #87)</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/microservices-monoliths-noops/" style="color: inherit; text-decoration: underline;">Microservices, Monoliths, and AZD5363 NoOps</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/show-layers-of-docker-image/" style="color: inherit; text-decoration: underline;">Show YAP/TAZ inhibitor-3 Layers of Docker Image</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/docker-swarm-cluster-using-consul/" style="color: inherit; text-decoration: underline;">Docker Swarm Cabotegravir Cluster using Consul</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/rest-vs-websocket-comparison-bench" style="color: inherit; text-decoration: underline;">REST Phorbol 12-myristate 13-acetate vs WebSocket Comparison and Bench</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/2009/09/totd-105-how-to-install-oracle-database-10g-on-mac-os-x-intel/" style="color: inherit; text-decoration: underline;">TOTD BMN-673 #106: How to install Oracle Database 10g on Mac OS X (Intel) ? « Miles t...</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/zookeeper-microservice-registration-discovery/" style="color: inherit; text-decoration: underline;">ZooKeeper for MK-2206 Akt inhibitor Microservice Registration and Discovery</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/2014/06/deltaspike-1-0-extend-javaee-techtip32/" style="color: inherit; text-decoration: underline;">DeltaSpike 1.0 - endo-IWR 1 Extend #JavaEE beyond #JavaEE (Tech Tip #32)</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/zookeeper-microservice-registration-discovery/" style="color: inherit; text-decoration: underline;">ZooKeeper for MK-2206 Akt inhibitor Microservice Registra...</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/smaller-java-image-docker-multi-stage-build/" style="color: inherit; text-decoration: underline;">Smaller Java image Trichostatin A using Docker multi-stage build</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/resolve-dial-unix-docker-sock-error-techtip64" style="color: inherit; text-decoration: underline;">H-151 STING inhibitor Resolve "dial unix /var/run/docker.sock" error with Docker (Tec...</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/wildfly-on-raspberry-pi-techtip-24/" style="color: inherit; text-decoration: underline;">WildFly Tagtociclib on Raspberry Pi (Tech Tip #25)</a></li><li style="margin-bottom:5px;"><a href="https://blog.arungupta.me/tag/microservices/" style="color: inherit; text-decoration: underline;">RAD001 microservices Archives - Miles to go 4.0 ...</a></li></ul></div></div>
<p><a href="wp-content/uploads/2015/01/kubernetes-logo.png"><img alt="Kubernetes Logo" class="alignnone wp-image-12277" height="176" src="wp-content/uploads/2015/01/kubernetes-logo.png" width="199"/></a></p>
<p><a href="https://github.com/kubernetes/kops/releases/tag/1.6.2">Kops 1.6.2</a> adds an experimental support for gossip-based, uses Weave Mesh, discovery of nodes. This makes the process of setting up Kubernetes cluster using Kops DNS-free, and much more simplified.</p>
<p>Let’s take a look!</p>
<ol>
<li>Install or upgrade kops:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54a596c414064959" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
brew upgrade kops
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54a596c414064959-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a596c414064959-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54a596c414064959-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54a596c414064959-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a596c414064959-2"><span class="crayon-e">brew </span><span class="crayon-e">upgrade </span><span class="crayon-i">kops</span></div><div class="crayon-line" id="crayon-5cfd1e54a596c414064959-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0004 seconds] -->
</li>
<li>Check the version:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54a598d188624303" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
~ $ kops version
Version 1.6.2
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54a598d188624303-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a598d188624303-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54a598d188624303-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a598d188624303-4">4</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54a598d188624303-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a598d188624303-2"><span class="crayon-o">~</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-h"> </span><span class="crayon-e">kops </span><span class="crayon-e">version</span></div><div class="crayon-line" id="crayon-5cfd1e54a598d188624303-3"><span class="crayon-i">Version</span><span class="crayon-h"> </span><span class="crayon-cn">1.6.2</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a598d188624303-4"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0005 seconds] -->
</li>
<li>Create an S3 bucket as “state store”:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54a599b224070792" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
aws s3api create-bucket --bucket kubernetes-arungupta-me
export KOPS_STATE_STORE=s3://kubernetes-arungupta-me
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54a599b224070792-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a599b224070792-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54a599b224070792-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a599b224070792-4">4</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54a599b224070792-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a599b224070792-2"><span class="crayon-e">aws </span><span class="crayon-e">s3api </span><span class="crayon-v">create</span><span class="crayon-o">-</span><span class="crayon-v">bucket</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-e">bucket </span><span class="crayon-v">kubernetes</span><span class="crayon-o">-</span><span class="crayon-v">arungupta</span><span class="crayon-o">-</span><span class="crayon-e">me</span></div><div class="crayon-line" id="crayon-5cfd1e54a599b224070792-3"><span class="crayon-e">export </span><span class="crayon-v">KOPS_STATE_STORE</span><span class="crayon-o">=</span><span class="crayon-v">s3</span><span class="crayon-o">:</span><span class="crayon-c">//kubernetes-arungupta-me</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a599b224070792-4"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0009 seconds] -->
</li>
<li>Create a Kubernetes cluster:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54a59aa602709216" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
kops create cluster cluster.k8s.local --zones us-east-1a --yes
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54a59aa602709216-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59aa602709216-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54a59aa602709216-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54a59aa602709216-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59aa602709216-2"><span class="crayon-e">kops </span><span class="crayon-e">create </span><span class="crayon-e">cluster </span><span class="crayon-v">cluster</span><span class="crayon-sy">.</span><span class="crayon-v">k8s</span><span class="crayon-sy">.</span><span class="crayon-v">local</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-e">zones </span><span class="crayon-v">us</span><span class="crayon-o">-</span><span class="crayon-v">east</span><span class="crayon-o">-</span><span class="crayon-cn">1a</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-i">yes</span></div><div class="crayon-line" id="crayon-5cfd1e54a59aa602709216-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0009 seconds] -->
It shows the output as:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54a59c9396210486" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
I0622 16:52:07.494558   83656 create_cluster.go:655] Inferred --cloud=aws from zone "us-east-1a"
I0622 16:52:07.495012   83656 create_cluster.go:841] Using SSH public key: /Users/argu/.ssh/id_rsa.pub
I0622 16:52:08.540445   83656 subnets.go:183] Assigned CIDR 172.20.32.0/19 to subnet us-east-1a
I0622 16:52:16.327523   83656 apply_cluster.go:396] Gossip DNS: skipping DNS validation
I0622 16:52:25.539755   83656 executor.go:91] Tasks: 0 done / 67 total; 32 can run
I0622 16:52:29.843320   83656 vfs_castore.go:422] Issuing new certificate: "kubecfg"
I0622 16:52:30.108046   83656 vfs_castore.go:422] Issuing new certificate: "kubelet"
I0622 16:52:30.139629   83656 vfs_castore.go:422] Issuing new certificate: "kube-scheduler"
I0622 16:52:31.072229   83656 vfs_castore.go:422] Issuing new certificate: "kube-proxy"
I0622 16:52:31.082560   83656 vfs_castore.go:422] Issuing new certificate: "kube-controller-manager"
I0622 16:52:31.579158   83656 vfs_castore.go:422] Issuing new certificate: "kops"
I0622 16:52:32.742807   83656 executor.go:91] Tasks: 32 done / 67 total; 13 can run
I0622 16:52:43.057189   83656 executor.go:91] Tasks: 45 done / 67 total; 18 can run
I0622 16:52:50.047375   83656 executor.go:91] Tasks: 63 done / 67 total; 3 can run
I0622 16:53:02.047610   83656 vfs_castore.go:422] Issuing new certificate: "master"
I0622 16:53:03.027007   83656 executor.go:91] Tasks: 66 done / 67 total; 1 can run
I0622 16:53:04.197637   83656 executor.go:91] Tasks: 67 done / 67 total; 0 can run
I0622 16:53:04.884362   83656 update_cluster.go:229] Exporting kubecfg for cluster
Kops has set your kubectl context to cluster.k8s.local
Cluster is starting.  It should be ready in a few minutes.
Suggestions:
 * validate cluster: kops validate cluster
 * list nodes: kubectl get nodes --show-labels
 * ssh to the master: ssh -i ~/.ssh/id_rsa admin@api.cluster.k8s.local
The admin user is specific to Debian. If not using Debian please use the appropriate user based on your OS.
 * read about installing addons: https://github.com/kubernetes/kops/blob/master/docs/addons.md
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-26">26</div><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-28">28</div><div class="crayon-num" data-line="crayon-5cfd1e54a59c9396210486-29">29</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59c9396210486-30">30</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-2"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">52</span><span class="crayon-o">:</span><span class="crayon-cn">07.494558</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">create_cluster</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">655</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-v">Inferred</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">cloud</span><span class="crayon-o">=</span><span class="crayon-e">aws </span><span class="crayon-e">from </span><span class="crayon-i">zone</span><span class="crayon-h"> </span><span class="crayon-s">"us-east-1a"</span></div><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-3"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">52</span><span class="crayon-o">:</span><span class="crayon-cn">07.495012</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">create_cluster</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">841</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">Using </span><span class="crayon-e">SSH </span><span class="crayon-m">public</span><span class="crayon-h"> </span><span class="crayon-v">key</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">Users</span><span class="crayon-o">/</span><span class="crayon-v">argu</span><span class="crayon-o">/</span><span class="crayon-sy">.</span><span class="crayon-v">ssh</span><span class="crayon-o">/</span><span class="crayon-v">id_rsa</span><span class="crayon-sy">.</span><span class="crayon-e">pub</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-4"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">52</span><span class="crayon-o">:</span><span class="crayon-cn">08.540445</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">subnets</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">183</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">Assigned </span><span class="crayon-i">CIDR</span><span class="crayon-h"> </span><span class="crayon-cn">172.20.32.0</span><span class="crayon-o">/</span><span class="crayon-cn">19</span><span class="crayon-h"> </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">subnet </span><span class="crayon-v">us</span><span class="crayon-o">-</span><span class="crayon-v">east</span><span class="crayon-o">-</span><span class="crayon-cn">1a</span></div><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-5"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">52</span><span class="crayon-o">:</span><span class="crayon-cn">16.327523</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">apply_cluster</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">396</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">Gossip </span><span class="crayon-v">DNS</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">skipping </span><span class="crayon-e">DNS </span><span class="crayon-e">validation</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-6"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">52</span><span class="crayon-o">:</span><span class="crayon-cn">25.539755</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">executor</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">91</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-v">Tasks</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">0</span><span class="crayon-h"> </span><span class="crayon-v">done</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-h"> </span><span class="crayon-cn">67</span><span class="crayon-h"> </span><span class="crayon-v">total</span><span class="crayon-sy">;</span><span class="crayon-h"> </span><span class="crayon-cn">32</span><span class="crayon-h"> </span><span class="crayon-e">can </span><span class="crayon-e">run</span></div><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-7"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">52</span><span class="crayon-o">:</span><span class="crayon-cn">29.843320</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">vfs_castore</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">422</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">Issuing </span><span class="crayon-r">new</span><span class="crayon-h"> </span><span class="crayon-v">certificate</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"kubecfg"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-8"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">52</span><span class="crayon-o">:</span><span class="crayon-cn">30.108046</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">vfs_castore</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">422</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">Issuing </span><span class="crayon-r">new</span><span class="crayon-h"> </span><span class="crayon-v">certificate</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"kubelet"</span></div><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-9"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">52</span><span class="crayon-o">:</span><span class="crayon-cn">30.139629</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">vfs_castore</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">422</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">Issuing </span><span class="crayon-r">new</span><span class="crayon-h"> </span><span class="crayon-v">certificate</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"kube-scheduler"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-10"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">52</span><span class="crayon-o">:</span><span class="crayon-cn">31.072229</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">vfs_castore</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">422</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">Issuing </span><span class="crayon-r">new</span><span class="crayon-h"> </span><span class="crayon-v">certificate</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"kube-proxy"</span></div><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-11"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">52</span><span class="crayon-o">:</span><span class="crayon-cn">31.082560</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">vfs_castore</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">422</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">Issuing </span><span class="crayon-r">new</span><span class="crayon-h"> </span><span class="crayon-v">certificate</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"kube-controller-manager"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-12"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">52</span><span class="crayon-o">:</span><span class="crayon-cn">31.579158</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">vfs_castore</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">422</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">Issuing </span><span class="crayon-r">new</span><span class="crayon-h"> </span><span class="crayon-v">certificate</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"kops"</span></div><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-13"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">52</span><span class="crayon-o">:</span><span class="crayon-cn">32.742807</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">executor</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">91</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-v">Tasks</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">32</span><span class="crayon-h"> </span><span class="crayon-v">done</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-h"> </span><span class="crayon-cn">67</span><span class="crayon-h"> </span><span class="crayon-v">total</span><span class="crayon-sy">;</span><span class="crayon-h"> </span><span class="crayon-cn">13</span><span class="crayon-h"> </span><span class="crayon-e">can </span><span class="crayon-e">run</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-14"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">52</span><span class="crayon-o">:</span><span class="crayon-cn">43.057189</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">executor</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">91</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-v">Tasks</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">45</span><span class="crayon-h"> </span><span class="crayon-v">done</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-h"> </span><span class="crayon-cn">67</span><span class="crayon-h"> </span><span class="crayon-v">total</span><span class="crayon-sy">;</span><span class="crayon-h"> </span><span class="crayon-cn">18</span><span class="crayon-h"> </span><span class="crayon-e">can </span><span class="crayon-e">run</span></div><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-15"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">52</span><span class="crayon-o">:</span><span class="crayon-cn">50.047375</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">executor</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">91</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-v">Tasks</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">63</span><span class="crayon-h"> </span><span class="crayon-v">done</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-h"> </span><span class="crayon-cn">67</span><span class="crayon-h"> </span><span class="crayon-v">total</span><span class="crayon-sy">;</span><span class="crayon-h"> </span><span class="crayon-cn">3</span><span class="crayon-h"> </span><span class="crayon-e">can </span><span class="crayon-e">run</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-16"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">53</span><span class="crayon-o">:</span><span class="crayon-cn">02.047610</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">vfs_castore</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">422</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">Issuing </span><span class="crayon-r">new</span><span class="crayon-h"> </span><span class="crayon-v">certificate</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"master"</span></div><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-17"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">53</span><span class="crayon-o">:</span><span class="crayon-cn">03.027007</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">executor</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">91</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-v">Tasks</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">66</span><span class="crayon-h"> </span><span class="crayon-v">done</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-h"> </span><span class="crayon-cn">67</span><span class="crayon-h"> </span><span class="crayon-v">total</span><span class="crayon-sy">;</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-h"> </span><span class="crayon-e">can </span><span class="crayon-e">run</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-18"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">53</span><span class="crayon-o">:</span><span class="crayon-cn">04.197637</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">executor</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">91</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-v">Tasks</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">67</span><span class="crayon-h"> </span><span class="crayon-v">done</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-h"> </span><span class="crayon-cn">67</span><span class="crayon-h"> </span><span class="crayon-v">total</span><span class="crayon-sy">;</span><span class="crayon-h"> </span><span class="crayon-cn">0</span><span class="crayon-h"> </span><span class="crayon-e">can </span><span class="crayon-e">run</span></div><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-19"><span class="crayon-i">I0622</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">53</span><span class="crayon-o">:</span><span class="crayon-cn">04.884362</span><span class="crayon-h">   </span><span class="crayon-cn">83656</span><span class="crayon-h"> </span><span class="crayon-v">update_cluster</span><span class="crayon-sy">.</span><span class="crayon-v">go</span><span class="crayon-o">:</span><span class="crayon-cn">229</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">Exporting </span><span class="crayon-e">kubecfg </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-e">cluster</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-20"><span class="crayon-e">Kops </span><span class="crayon-e">has </span><span class="crayon-e">set </span><span class="crayon-e">your </span><span class="crayon-e">kubectl </span><span class="crayon-e">context </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-v">cluster</span><span class="crayon-sy">.</span><span class="crayon-v">k8s</span><span class="crayon-sy">.</span><span class="crayon-e">local</span></div><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-21"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-22"><span class="crayon-e">Cluster </span><span class="crayon-st">is</span><span class="crayon-h"> </span><span class="crayon-v">starting</span><span class="crayon-sy">.</span><span class="crayon-h">  </span><span class="crayon-e">It </span><span class="crayon-e">should </span><span class="crayon-e">be </span><span class="crayon-e">ready </span><span class="crayon-st">in</span><span class="crayon-h"> </span><span class="crayon-i">a</span><span class="crayon-h"> </span><span class="crayon-e">few </span><span class="crayon-v">minutes</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-23"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-24"><span class="crayon-v">Suggestions</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-25"><span class="crayon-h"> </span><span class="crayon-o">*</span><span class="crayon-h"> </span><span class="crayon-e">validate </span><span class="crayon-v">cluster</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">kops </span><span class="crayon-e">validate </span><span class="crayon-e">cluster</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-26"><span class="crayon-e"> *</span><span class="crayon-h"> </span><span class="crayon-e">list </span><span class="crayon-v">nodes</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">kubectl </span><span class="crayon-e">get </span><span class="crayon-v">nodes</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">show</span><span class="crayon-o">-</span><span class="crayon-e">labels</span></div><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-27"><span class="crayon-e"> *</span><span class="crayon-h"> </span><span class="crayon-e">ssh </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">the </span><span class="crayon-v">master</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">ssh</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">i</span><span class="crayon-h"> </span><span class="crayon-o">~</span><span class="crayon-o">/</span><span class="crayon-sy">.</span><span class="crayon-v">ssh</span><span class="crayon-o">/</span><span class="crayon-e">id_rsa </span><span class="crayon-v">admin</span><span class="crayon-sy">@</span><span class="crayon-v">api</span><span class="crayon-sy">.</span><span class="crayon-v">cluster</span><span class="crayon-sy">.</span><span class="crayon-v">k8s</span><span class="crayon-sy">.</span><span class="crayon-e">local</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-28"><span class="crayon-e">The </span><span class="crayon-e">admin </span><span class="crayon-e">user </span><span class="crayon-st">is</span><span class="crayon-h"> </span><span class="crayon-e">specific </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-v">Debian</span><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-st">If</span><span class="crayon-h"> </span><span class="crayon-st">not</span><span class="crayon-h"> </span><span class="crayon-e">using </span><span class="crayon-e">Debian </span><span class="crayon-e">please </span><span class="crayon-st">use</span><span class="crayon-h"> </span><span class="crayon-e">the </span><span class="crayon-e">appropriate </span><span class="crayon-e">user </span><span class="crayon-e">based </span><span class="crayon-e">on </span><span class="crayon-e">your </span><span class="crayon-v">OS</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54a59c9396210486-29"><span class="crayon-h"> </span><span class="crayon-o">*</span><span class="crayon-h"> </span><span class="crayon-e">read </span><span class="crayon-e">about </span><span class="crayon-e">installing </span><span class="crayon-v">addons</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">https</span><span class="crayon-o">:</span><span class="crayon-c">//github.com/kubernetes/kops/blob/master/docs/addons.md</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59c9396210486-30"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0203 seconds] -->
Wait for a few minutes for the cluster to be created.</li>
<li>Validate the cluster:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54a59dc480606943" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
~ $ kops validate cluster
Using cluster from kubectl context: cluster.k8s.local
Validating cluster cluster.k8s.local
INSTANCE GROUPS
NAME			ROLE	MACHINETYPE	MIN	MAX	SUBNETS
master-us-east-1a	Master	m3.medium	1	1	us-east-1a
nodes			Node	t2.medium	2	2	us-east-1a
NODE STATUS
NAME				ROLE	READY
ip-172-20-36-52.ec2.internal	node	True
ip-172-20-38-117.ec2.internal	master	True
ip-172-20-49-179.ec2.internal	node	True
Your cluster cluster.k8s.local is ready
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54a59dc480606943-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59dc480606943-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54a59dc480606943-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59dc480606943-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54a59dc480606943-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59dc480606943-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54a59dc480606943-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59dc480606943-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54a59dc480606943-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59dc480606943-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54a59dc480606943-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59dc480606943-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54a59dc480606943-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59dc480606943-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54a59dc480606943-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59dc480606943-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54a59dc480606943-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59dc480606943-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54a59dc480606943-19">19</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54a59dc480606943-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59dc480606943-2"><span class="crayon-o">~</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-h"> </span><span class="crayon-e">kops </span><span class="crayon-e">validate </span><span class="crayon-e">cluster</span></div><div class="crayon-line" id="crayon-5cfd1e54a59dc480606943-3"><span class="crayon-e">Using </span><span class="crayon-e">cluster </span><span class="crayon-e">from </span><span class="crayon-e">kubectl </span><span class="crayon-v">context</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">cluster</span><span class="crayon-sy">.</span><span class="crayon-v">k8s</span><span class="crayon-sy">.</span><span class="crayon-e">local</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59dc480606943-4"> </div><div class="crayon-line" id="crayon-5cfd1e54a59dc480606943-5"><span class="crayon-e">Validating </span><span class="crayon-e">cluster </span><span class="crayon-v">cluster</span><span class="crayon-sy">.</span><span class="crayon-v">k8s</span><span class="crayon-sy">.</span><span class="crayon-e">local</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59dc480606943-6"> </div><div class="crayon-line" id="crayon-5cfd1e54a59dc480606943-7"><span class="crayon-e">INSTANCE </span><span class="crayon-e">GROUPS</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59dc480606943-8"><span class="crayon-e">NAME            </span><span class="crayon-e">ROLE    </span><span class="crayon-e">MACHINETYPE    </span><span class="crayon-e">MIN    </span><span class="crayon-e">MAX    </span><span class="crayon-e">SUBNETS</span></div><div class="crayon-line" id="crayon-5cfd1e54a59dc480606943-9"><span class="crayon-v">master</span><span class="crayon-o">-</span><span class="crayon-v">us</span><span class="crayon-o">-</span><span class="crayon-v">east</span><span class="crayon-o">-</span><span class="crayon-cn">1a</span><span class="crayon-h">    </span><span class="crayon-e">Master    </span><span class="crayon-v">m3</span><span class="crayon-sy">.</span><span class="crayon-i">medium</span><span class="crayon-h">    </span><span class="crayon-cn">1</span><span class="crayon-h">    </span><span class="crayon-cn">1</span><span class="crayon-h">    </span><span class="crayon-v">us</span><span class="crayon-o">-</span><span class="crayon-v">east</span><span class="crayon-o">-</span><span class="crayon-cn">1a</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59dc480606943-10"><span class="crayon-e">nodes            </span><span class="crayon-e">Node    </span><span class="crayon-v">t2</span><span class="crayon-sy">.</span><span class="crayon-i">medium</span><span class="crayon-h">    </span><span class="crayon-cn">2</span><span class="crayon-h">    </span><span class="crayon-cn">2</span><span class="crayon-h">    </span><span class="crayon-v">us</span><span class="crayon-o">-</span><span class="crayon-v">east</span><span class="crayon-o">-</span><span class="crayon-cn">1a</span></div><div class="crayon-line" id="crayon-5cfd1e54a59dc480606943-11"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59dc480606943-12"><span class="crayon-e">NODE </span><span class="crayon-e">STATUS</span></div><div class="crayon-line" id="crayon-5cfd1e54a59dc480606943-13"><span class="crayon-e">NAME                </span><span class="crayon-e">ROLE    </span><span class="crayon-e">READY</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59dc480606943-14"><span class="crayon-v">ip</span><span class="crayon-o">-</span><span class="crayon-cn">172</span><span class="crayon-o">-</span><span class="crayon-cn">20</span><span class="crayon-o">-</span><span class="crayon-cn">36</span><span class="crayon-o">-</span><span class="crayon-cn">52.ec2.internal</span><span class="crayon-h">    </span><span class="crayon-e">node    </span><span class="crayon-t">True</span></div><div class="crayon-line" id="crayon-5cfd1e54a59dc480606943-15"><span class="crayon-v">ip</span><span class="crayon-o">-</span><span class="crayon-cn">172</span><span class="crayon-o">-</span><span class="crayon-cn">20</span><span class="crayon-o">-</span><span class="crayon-cn">38</span><span class="crayon-o">-</span><span class="crayon-cn">117.ec2.internal</span><span class="crayon-h">    </span><span class="crayon-e">master    </span><span class="crayon-t">True</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59dc480606943-16"><span class="crayon-v">ip</span><span class="crayon-o">-</span><span class="crayon-cn">172</span><span class="crayon-o">-</span><span class="crayon-cn">20</span><span class="crayon-o">-</span><span class="crayon-cn">49</span><span class="crayon-o">-</span><span class="crayon-cn">179.ec2.internal</span><span class="crayon-h">    </span><span class="crayon-e">node    </span><span class="crayon-t">True</span></div><div class="crayon-line" id="crayon-5cfd1e54a59dc480606943-17"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59dc480606943-18"><span class="crayon-e">Your </span><span class="crayon-e">cluster </span><span class="crayon-v">cluster</span><span class="crayon-sy">.</span><span class="crayon-v">k8s</span><span class="crayon-sy">.</span><span class="crayon-e">local </span><span class="crayon-st">is</span><span class="crayon-h"> </span><span class="crayon-i">ready</span></div><div class="crayon-line" id="crayon-5cfd1e54a59dc480606943-19"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0044 seconds] -->
</li>
<li>Get the list of nodes using <code>kubectl</code>:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54a59eb775445534" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
~ $ kubectl get nodes
NAME                            STATUS         AGE       VERSION
ip-172-20-36-52.ec2.internal    Ready,node     4h        v1.6.2
ip-172-20-38-117.ec2.internal   Ready,master   4h        v1.6.2
ip-172-20-49-179.ec2.internal   Ready,node     4h        v1.6.2
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54a59eb775445534-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59eb775445534-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54a59eb775445534-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59eb775445534-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54a59eb775445534-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59eb775445534-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54a59eb775445534-7">7</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54a59eb775445534-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59eb775445534-2"><span class="crayon-o">~</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-h"> </span><span class="crayon-e">kubectl </span><span class="crayon-e">get </span><span class="crayon-e">nodes</span></div><div class="crayon-line" id="crayon-5cfd1e54a59eb775445534-3"><span class="crayon-e">NAME                            </span><span class="crayon-e">STATUS         </span><span class="crayon-e">AGE       </span><span class="crayon-e">VERSION</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59eb775445534-4"><span class="crayon-v">ip</span><span class="crayon-o">-</span><span class="crayon-cn">172</span><span class="crayon-o">-</span><span class="crayon-cn">20</span><span class="crayon-o">-</span><span class="crayon-cn">36</span><span class="crayon-o">-</span><span class="crayon-cn">52.ec2.internal</span><span class="crayon-h">    </span><span class="crayon-v">Ready</span><span class="crayon-sy">,</span><span class="crayon-i">node</span><span class="crayon-h">     </span><span class="crayon-cn">4h</span><span class="crayon-h">        </span><span class="crayon-v">v1</span><span class="crayon-sy">.</span><span class="crayon-cn">6.2</span></div><div class="crayon-line" id="crayon-5cfd1e54a59eb775445534-5"><span class="crayon-v">ip</span><span class="crayon-o">-</span><span class="crayon-cn">172</span><span class="crayon-o">-</span><span class="crayon-cn">20</span><span class="crayon-o">-</span><span class="crayon-cn">38</span><span class="crayon-o">-</span><span class="crayon-cn">117.ec2.internal</span><span class="crayon-h">   </span><span class="crayon-v">Ready</span><span class="crayon-sy">,</span><span class="crayon-i">master</span><span class="crayon-h">   </span><span class="crayon-cn">4h</span><span class="crayon-h">        </span><span class="crayon-v">v1</span><span class="crayon-sy">.</span><span class="crayon-cn">6.2</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59eb775445534-6"><span class="crayon-v">ip</span><span class="crayon-o">-</span><span class="crayon-cn">172</span><span class="crayon-o">-</span><span class="crayon-cn">20</span><span class="crayon-o">-</span><span class="crayon-cn">49</span><span class="crayon-o">-</span><span class="crayon-cn">179.ec2.internal</span><span class="crayon-h">   </span><span class="crayon-v">Ready</span><span class="crayon-sy">,</span><span class="crayon-i">node</span><span class="crayon-h">     </span><span class="crayon-cn">4h</span><span class="crayon-h">        </span><span class="crayon-v">v1</span><span class="crayon-sy">.</span><span class="crayon-cn">6.2</span></div><div class="crayon-line" id="crayon-5cfd1e54a59eb775445534-7"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0027 seconds] -->
</li>
<li>Deleting a cluster is pretty straight forward as well:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54a59fa447195170" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
kops delete cluster cluster.k8s.local --yes
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54a59fa447195170-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a59fa447195170-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54a59fa447195170-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54a59fa447195170-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a59fa447195170-2"><span class="crayon-e">kops </span><span class="crayon-e">delete </span><span class="crayon-e">cluster </span><span class="crayon-v">cluster</span><span class="crayon-sy">.</span><span class="crayon-v">k8s</span><span class="crayon-sy">.</span><span class="crayon-v">local</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-i">yes</span></div><div class="crayon-line" id="crayon-5cfd1e54a59fa447195170-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0007 seconds] -->
</li>
</ol>
<p>That’s it!</p>
<p>github.com/arun-gupta/kubernetes-java-sample provide several examples of getting started with Kubernetes.</p>
<p>File issues at github.com/kubernetes/kops/issues.</p>
<p> </p>
</div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="gossip-kubernetes-aws-kops/#comments">View all 29 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
</article><!-- #post -->
<article class="post-14733 post type-post status-publish format-standard hentry category-conferences" id="post-14733">
<header class="entry-header">
<h1 class="entry-title">
<a href="devoxx-cloud-containers-infrastructure-track/" rel="bookmark">Devoxx Belgium 2017 - Submit Talks for Cloud, Containers and Infrastructure Track</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="devoxx-cloud-containers-infrastructure-track/" rel="bookmark" title="Permalink to Devoxx Belgium 2017 – Submit Talks for Cloud, Containers and Infrastructure Track"><time class="entry-date" datetime="2017-06-09T17:13:34+00:00">June 9, 2017</time></a></span><span class="categories-links"><a href="topics/conferences/" rel="category tag">conferences</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p>Devoxx Belgium is the one of the finest developer conferences in Europe. This year it’s running from Nov 6-10 in Antwerp, Belgium. I certainly have the privilege of being involved with the conference for a several years now.</p>
<p><img alt="devoxx-be-2017" class="alignnone size-large wp-image-14734" height="301" src="wp-content/uploads/2017/06/devoxx-be-2017-1024x510.png" width="604"/></p>
<p>What are some of the cool things about this conference?</p>
<ul>
<li>Rock star speakers from around the world with 3 hrs Deep Dive sessions, Conference Session, Birds of Feather, Hands-on Lab, Ignite, Quickie and of course an inspiring opening and closing keynote.</li>
<li>Pioneers of theater-style seating - This not only provides comfortable seating<br/>
for each attendee but the screens are very clearly visible to everybody in the room.</li>
<li>All talks recorded and released on youtube.</li>
<li>No need to pre-register for a session, just show up and watch. If you miss it, then just watch the replay on youtube later.</li>
<li>Community votes on whiteboard - Attendees gets a chance to vote on topics ranging from their favorite non-Java language, operating system, or anything you like.</li>
<li>Thursday night movie</li>
<li>Fries with mayo</li>
<li>Belgian beer and chocolates</li>
<li>We are called Devoxxians!</li>
</ul>
<p>I’m sure there are other cool things that can be said <img alt=":)" class="wp-smiley" src="wp-includes/images/smilies/simple-smile.png" style="height: 1em; max-height: 1em;"/></p>
<p><iframe allowfullscreen="" frameborder="0" height="340" src="https://www.youtube.com/embed/o_FcPr-xyNc?feature=oembed" width="604"></iframe></p>
<p>Conference’s Call for Papers (called as Call for Passion) is running. There are multiple tracks:</p>
<ul>
<li>Big Data &amp; Machine Learning</li>
<li>Cloud, Containers &amp; Infrastructure</li>
<li>Mind the Geek</li>
<li>Java Language</li>
<li>Programming Languages</li>
<li>Methodology &amp; Culture</li>
<li>Mobile &amp; IOT</li>
<li>Architecture &amp; Security</li>
<li>Server-side Java</li>
<li>Modern Web</li>
</ul>
<p>Descriptions for each track is explained at cfp.devoxx.be.</p>
<p>I’m helping with the Cloud, Containers and Infrastructure track. Here are some suggested topics that we are looking in that track:</p>
<ul>
<li>FaaS + Serverless (101, 201, 301, debugging dev/test, different cloud providers)</li>
<li>Serverless in Production (ideally from a customer, different cloud providers)</li>
<li>Latest deep dive on Docker, Kubernetes, ECS, DC/OS</li>
<li>Setting up container pipeline using Chef/Puppet/Salt/Ansible</li>
<li>Continuous Delivery of Microservices using Containers</li>
<li>Microservices using Netflix OSS</li>
<li>Docker and Java (cores, memory, packaging, base image etc)</li>
<li>gRPC</li>
<li>Service discovery in microservices (different approaches, w/ and w/o containers -</li>
<li>Prometheus, NewRelic, DataDog, Weave, etc)</li>
<li>Monitoring containers in production</li>
<li>Migrating from VMs to Containers</li>
<li>Design patterns and Anti-patterns</li>
<li>Gotchas, Tips &amp; Tricks for AWS, Google Cloud, Azure and other providers</li>
<li>Any other topic that you feel is relevant</li>
</ul>
<p>Make the job of the program committee extremely difficult. CFP ends Jul 7.</p>
<p>Submit your passion today!</p>
</div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="devoxx-cloud-containers-infrastructure-track/#comments">View all 13 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
</article><!-- #post -->
<article class="post-14693 post type-post status-publish format-standard hentry category-containers category-java category-techtip tag-docker tag-image tag-java" id="post-14693">
<header class="entry-header">
<h1 class="entry-title">
<a href="smaller-java-image-docker-multi-stage-build/" rel="bookmark">Creating Smaller Java Image using Docker Multi-stage Build</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="smaller-java-image-docker-multi-stage-build/" rel="bookmark" title="Permalink to Creating Smaller Java Image using Docker Multi-stage Build"><time class="entry-date" datetime="2017-04-21T23:05:04+00:00">April 21, 2017</time></a></span><span class="categories-links"><a href="topics/containers/" rel="category tag">containers</a>, <a href="topics/java/" rel="category tag">java</a>, <a href="topics/techtip/" rel="category tag">techtip</a></span><span class="tags-links"><a href="tag/docker/" rel="tag">docker</a>, <a href="tag/image/" rel="tag">image</a>, <a href="tag/java/" rel="tag">java</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p>Two of the announcements at DockerCon 2017 directly relevant to Java developers are:</p>
<ul>
<li>Docker Multi-stage build</li>
<li>Oracle JRE in Docker Store</li>
</ul>
<p>This blog explains the purpose of Docker multi-stage build and provide examples of how they help us generate smaller and more efficient Java Docker images.</p>
<p><a href="wp-content/uploads/2017/04/multi-stage-build.jpg"><img alt="Docker Multi-stage Build" class="alignnone size-full wp-image-14707" height="488" src="wp-content/uploads/2017/04/multi-stage-build.jpg" width="924"/></a></p>
<p>Just show me the code: <a href="https://github.com/arun-gupta/docker-java-multistage">github.com/arun-gupta/docker-java-multistage</a>.</p>
<h2>What is the issue?</h2>
<p>Building a Docker image for a Java application typically involves building the application and package the generated artifact into an image. A Java developer would likely use Maven or Gradle to build a JAR or WAR file. If you are using the Maven base image to build the application then it will download the required dependencies from the configured repositories and keep them in the image. The number of JARs in the local repository could be significant depending upon the number of dependencies in the <code>pom.xml</code>. This could leave a lot of cruft in the image.</p>
<p>Let’s take a look at a sample Dockerfile:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54a8705436777452" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
FROM maven:3.5-jdk-8
COPY src /usr/src/myapp/src
COPY pom.xml /usr/src/myapp
RUN mvn -f /usr/src/myapp/pom.xml clean package
ENV WILDFLY_VERSION 10.1.0.Final
ENV WILDFLY_HOME /usr
RUN cd $WILDFLY_HOME &amp;&amp; curl http://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz | tar zx &amp;&amp; mv $WILDFLY_HOME/wildfly-$WILDFLY_VERSION $WILDFLY_HOME/wildfly
RUN cp /usr/src/myapp/target/people-1.0-SNAPSHOT.war $WILDFLY_HOME/wildfly/standalone/deployments/people.war
EXPOSE 8080
CMD ["/usr/wildfly/bin/standalone.sh", "-b", "0.0.0.0"]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54a8705436777452-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8705436777452-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54a8705436777452-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8705436777452-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54a8705436777452-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8705436777452-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54a8705436777452-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8705436777452-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54a8705436777452-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8705436777452-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54a8705436777452-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8705436777452-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54a8705436777452-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8705436777452-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54a8705436777452-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8705436777452-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54a8705436777452-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8705436777452-18">18</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54a8705436777452-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8705436777452-2"><span class="crayon-e">FROM </span><span class="crayon-v">maven</span><span class="crayon-o">:</span><span class="crayon-cn">3.5</span><span class="crayon-o">-</span><span class="crayon-v">jdk</span><span class="crayon-o">-</span><span class="crayon-cn">8</span></div><div class="crayon-line" id="crayon-5cfd1e54a8705436777452-3"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8705436777452-4"><span class="crayon-e">COPY </span><span class="crayon-v">src</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">usr</span><span class="crayon-o">/</span><span class="crayon-v">src</span><span class="crayon-o">/</span><span class="crayon-v">myapp</span><span class="crayon-o">/</span><span class="crayon-e">src</span></div><div class="crayon-line" id="crayon-5cfd1e54a8705436777452-5"><span class="crayon-e">COPY </span><span class="crayon-v">pom</span><span class="crayon-sy">.</span><span class="crayon-v">xml</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">usr</span><span class="crayon-o">/</span><span class="crayon-v">src</span><span class="crayon-o">/</span><span class="crayon-e">myapp</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8705436777452-6"><span class="crayon-e">RUN </span><span class="crayon-v">mvn</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">f</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">usr</span><span class="crayon-o">/</span><span class="crayon-v">src</span><span class="crayon-o">/</span><span class="crayon-v">myapp</span><span class="crayon-o">/</span><span class="crayon-v">pom</span><span class="crayon-sy">.</span><span class="crayon-e">xml </span><span class="crayon-e">clean </span><span class="crayon-t">package</span></div><div class="crayon-line" id="crayon-5cfd1e54a8705436777452-7"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8705436777452-8"><span class="crayon-e">ENV </span><span class="crayon-v">WILDFLY</span><span class="crayon-sy">_</span>VERSION<span class="crayon-h"> </span><span class="crayon-cn">10.1.0.Final</span></div><div class="crayon-line" id="crayon-5cfd1e54a8705436777452-9"><span class="crayon-e">ENV </span><span class="crayon-v">WILDFLY_HOME</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-e">usr</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8705436777452-10"> </div><div class="crayon-line" id="crayon-5cfd1e54a8705436777452-11"><span class="crayon-e">RUN </span><span class="crayon-i">cd</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-v">WILDFLY_HOME</span><span class="crayon-h"> </span><span class="crayon-o">&amp;&amp;</span><span class="crayon-h"> </span><span class="crayon-e">curl </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz | tar zx &amp;&amp; mv $WILDFLY_HOME/wildfly-$WILDFLY_VERSION $WILDFLY_HOME/wildfly</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8705436777452-12"> </div><div class="crayon-line" id="crayon-5cfd1e54a8705436777452-13"><span class="crayon-e">RUN </span><span class="crayon-v">cp</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">usr</span><span class="crayon-o">/</span><span class="crayon-v">src</span><span class="crayon-o">/</span><span class="crayon-v">myapp</span><span class="crayon-o">/</span><span class="crayon-v">target</span><span class="crayon-o">/</span><span class="crayon-v">people</span><span class="crayon-o">-</span><span class="crayon-cn">1.0</span><span class="crayon-o">-</span><span class="crayon-v">SNAPSHOT</span><span class="crayon-sy">.</span><span class="crayon-i">war</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-v">WILDFLY_HOME</span><span class="crayon-o">/</span><span class="crayon-v">wildfly</span><span class="crayon-o">/</span><span class="crayon-v">standalone</span><span class="crayon-o">/</span><span class="crayon-v">deployments</span><span class="crayon-o">/</span><span class="crayon-v">people</span><span class="crayon-sy">.</span><span class="crayon-e">war</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8705436777452-14"> </div><div class="crayon-line" id="crayon-5cfd1e54a8705436777452-15"><span class="crayon-i">EXPOSE</span><span class="crayon-h"> </span><span class="crayon-cn">8080</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8705436777452-16"> </div><div class="crayon-line" id="crayon-5cfd1e54a8705436777452-17"><span class="crayon-i">CMD</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-s">"/usr/wildfly/bin/standalone.sh"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-s">"-b"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-s">"0.0.0.0"</span><span class="crayon-sy">]</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8705436777452-18"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0043 seconds] -->
<p>
In this Dockerfile:</p>
<ul>
<li><code>maven:3.5-jdk-8</code> is used as the base image</li>
<li>Application source code is copied to the image</li>
<li>Maven is used to build the application artifact</li>
<li>WildFly is downloaded and installed</li>
<li>Generated artifact is copied to the <code>deployments</code> directory of WildFly</li>
<li>Finally, WildFly is started</li>
</ul>
<p>There are several issues with this kind of flow:</p>
<ul>
<li>Using <code>maven</code> as the base image restricts on what functionality is available in the image. This requires WildFly to be downloaded and configured explicitly.</li>
<li>Building the artifact downloads all Maven dependencies. These stay in the image and are not needed at runtime. This causes an unnecessary bloat in the image size at runtime.</li>
<li>Change in WildFly version will require to update the Dockerfile. This would’ve been much easier if we could use the <code>jboss/wildfly</code> base image by itself.</li>
<li>In addition, unit tests may run before packaging the artifact and integration tests after the image is created. The test dependencies and results is again not needed to live in the production image.</li>
</ul>
<p>There are other ways to build the Docker image. For example, splitting the Dockerfile into two files. The first file will then build the artifact and copy the artifact to a common location using volume mapping. The second file will then pick up the generated artifact and then use the lean base image. This approach has also has issues where multiple Dockerfiles need to be maintained separately. Additional, there is an out-of-band hand-off between the two Dockerfiles.</p>
<p>Let’s see how these issues are resolved with multi-stage build.</p>
<h2>What are Docker multi-stage build?</h2>
<p>Multi-stage build allows multiple <code>FROM</code> statements in a Dockerfile. The instructions following each <code>FROM</code> statement and until the next one, creates an intermediate image. The final <code>FROM</code> statement is the final base image. Artifacts from intermediate stages can be copied using <code>COPY --from=&lt;image-number&gt;</code>, starting from 0 for the first base image. The artifacts not copied over are discarded. This allows to keep the final image lean and only include the relevant artifacts.</p>
<p><code>FROM</code> syntax is updated to specify stage name using <code>as &lt;stage-name&gt;</code>. For example:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54a8723376936816" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
FROM maven:3.5-jdk-8 as BUILD
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54a8723376936816-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8723376936816-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54a8723376936816-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54a8723376936816-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8723376936816-2"><span class="crayon-e">FROM </span><span class="crayon-v">maven</span><span class="crayon-o">:</span><span class="crayon-cn">3.5</span><span class="crayon-o">-</span><span class="crayon-v">jdk</span><span class="crayon-o">-</span><span class="crayon-cn">8</span><span class="crayon-h"> </span><span class="crayon-st">as</span><span class="crayon-h"> </span><span class="crayon-i">BUILD</span></div><div class="crayon-line" id="crayon-5cfd1e54a8723376936816-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0006 seconds] -->
<p>
This allows to use the stage name instead of the number with <code>--from</code> option.</p>
<p>Let’s take a look at a sample Dockerfile:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54a8731900192470" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
FROM maven:3.5-jdk-8 as BUILD
COPY src /usr/src/myapp/src
COPY pom.xml /usr/src/myapp
RUN mvn -f /usr/src/myapp/pom.xml clean package
FROM jboss/wildfly:10.1.0.Final
COPY --from=BUILD /usr/src/myapp/target/people-1.0-SNAPSHOT.war /opt/jboss/wildfly/standalone/deployments/people.war
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54a8731900192470-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8731900192470-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54a8731900192470-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8731900192470-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54a8731900192470-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8731900192470-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54a8731900192470-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8731900192470-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54a8731900192470-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54a8731900192470-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54a8731900192470-11">11</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54a8731900192470-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8731900192470-2"><span class="crayon-e">FROM </span><span class="crayon-v">maven</span><span class="crayon-o">:</span><span class="crayon-cn">3.5</span><span class="crayon-o">-</span><span class="crayon-v">jdk</span><span class="crayon-o">-</span><span class="crayon-cn">8</span><span class="crayon-h"> </span><span class="crayon-st">as</span><span class="crayon-h"> </span><span class="crayon-e">BUILD</span></div><div class="crayon-line" id="crayon-5cfd1e54a8731900192470-3"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8731900192470-4"><span class="crayon-e">COPY </span><span class="crayon-v">src</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">usr</span><span class="crayon-o">/</span><span class="crayon-v">src</span><span class="crayon-o">/</span><span class="crayon-v">myapp</span><span class="crayon-o">/</span><span class="crayon-e">src</span></div><div class="crayon-line" id="crayon-5cfd1e54a8731900192470-5"><span class="crayon-e">COPY </span><span class="crayon-v">pom</span><span class="crayon-sy">.</span><span class="crayon-v">xml</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">usr</span><span class="crayon-o">/</span><span class="crayon-v">src</span><span class="crayon-o">/</span><span class="crayon-e">myapp</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8731900192470-6"><span class="crayon-e">RUN </span><span class="crayon-v">mvn</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">f</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">usr</span><span class="crayon-o">/</span><span class="crayon-v">src</span><span class="crayon-o">/</span><span class="crayon-v">myapp</span><span class="crayon-o">/</span><span class="crayon-v">pom</span><span class="crayon-sy">.</span><span class="crayon-e">xml </span><span class="crayon-e">clean </span><span class="crayon-t">package</span></div><div class="crayon-line" id="crayon-5cfd1e54a8731900192470-7"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8731900192470-8"><span class="crayon-e">FROM </span><span class="crayon-v">jboss</span><span class="crayon-o">/</span><span class="crayon-v">wildfly</span><span class="crayon-o">:</span><span class="crayon-cn">10.1.0.Final</span></div><div class="crayon-line" id="crayon-5cfd1e54a8731900192470-9"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54a8731900192470-10"><span class="crayon-v">COPY</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">from</span><span class="crayon-o">=</span><span class="crayon-v">BUILD</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">usr</span><span class="crayon-o">/</span><span class="crayon-v">src</span><span class="crayon-o">/</span><span class="crayon-v">myapp</span><span class="crayon-o">/</span><span class="crayon-v">target</span><span class="crayon-o">/</span><span class="crayon-v">people</span><span class="crayon-o">-</span><span class="crayon-cn">1.0</span><span class="crayon-o">-</span><span class="crayon-v">SNAPSHOT</span><span class="crayon-sy">.</span><span class="crayon-v">war</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">opt</span><span class="crayon-o">/</span><span class="crayon-v">jboss</span><span class="crayon-o">/</span><span class="crayon-v">wildfly</span><span class="crayon-o">/</span><span class="crayon-v">standalone</span><span class="crayon-o">/</span><span class="crayon-v">deployments</span><span class="crayon-o">/</span><span class="crayon-v">people</span><span class="crayon-sy">.</span><span class="crayon-i">war</span></div><div class="crayon-line" id="crayon-5cfd1e54a8731900192470-11"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0033 seconds] -->
<p>
In this Dockerfile:</p>
<ul>
<li>There are two <code>FROM</code> instructions. This means this is a two-stage build.</li>
<li><code>maven:3.5-jdk-8</code> is the base image for the first build. This is used to build the WAR file for the application. The first stage is named as <code>BUILD</code>.</li>
<li><code>jboss/wildfly:10.1.0.Final</code> is the second and the final base image for the build. WAR file generated in the first stage is copied over to this stage using <code>COPY --from</code> syntax. The file is directly copied in the WildFly deployments directory.</li>
</ul>
<p>Let’s take a look at what are some of the advantages of this approach.</p>
<h2>Advantages of Docker multi-stage build</h2>
<ul>
<li>One Dockerfile has the entire build process defined. There is no need to have separate Dockerfiles and then coordinate transfer of artifact between “build” Dockerfile and “run” Dockerfile using volume mapping.</li>
<li>Base image for the final image can be chosen appropriately to meet the runtime needs. This helps with reduction of the overall size of the runtime image. Additionally, the cruft from build time is discarded during intermediate stage.</li>
<li>Standard WildFly base image is used instead of downloading and configuring the distribution manually. This makes it a lot easier to update the image if a newer tag is released.</li>
</ul>
<p>Size of the image built using a single Dockerfile is 816MB. In contrast, the size of the image built using multi-stage build is 584MB.</p>
<p><a href="#"><img alt="Docker Multi-stage Java Image" class="alignnone size-large wp-image-14709" height="52" src="wp-content/uploads/2017/04/multi-stage-docker-java-image-1024x89.png" width="604"/></a></p>
<p>So, using a multi-stage helps create a much smaller image.</p>
<p>Is this a typical way of building Docker image? Are there other ways by which the image size can be reduced?</p>
<p>Sure, you can use <code>docker-maven-plugin</code> as shown at <a href="https://github.com/arun-gupta/docker-java-sample">github.com/arun-gupta/docker-java-sample</a> to build/test the image locally and then push to repo. But this mechanism allows you to generate and package artifact without any other dependency, including Java.</p>
<p>Sure, <code>maven:jdk-8-alpine</code> image can be used to create a smaller image. But then you’ll have to create or find a WildFly image built using <code>jdk-8-alpine</code>, or something similar, as well. But the cruft, such as maven repository, two Dockerfiles, sharing of artifact using volume mapping or some other similar technique would still be there.</p>
<p>There are other ways to craft your build cycle. But if you are using Dockerfile to build your artifact then you should seriously consider multi-stage builds.</p>
<p>Read more discussion in PR #31257.</p>
<p>As mentioned earlier, the complete code for this is available at github.com/arun-gupta/docker-java-multistage.</p>
<p>Sign up for Docker Online Meetup to get a DockerCon 2017 recap.</p>
</div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="smaller-java-image-docker-multi-stage-build/#comments">View all 24 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
</article><!-- #post -->
<article class="post-14679 post type-post status-publish format-standard hentry category-containers category-techtip tag-docker tag-osx tag-windows" id="post-14679">
<header class="entry-header">
<h1 class="entry-title">
<a href="docker-remote-api-mac-windows-osx/" rel="bookmark">Docker Remote API on Windows and OSX</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="docker-remote-api-mac-windows-osx/" rel="bookmark" title="Permalink to Docker Remote API on Windows and OSX"><time class="entry-date" datetime="2017-04-16T20:43:24+00:00">April 16, 2017</time></a></span><span class="categories-links"><a href="topics/containers/" rel="category tag">containers</a>, <a href="topics/techtip/" rel="category tag">techtip</a></span><span class="tags-links"><a href="tag/docker/" rel="tag">docker</a>, <a href="tag/osx/" rel="tag">osx</a>, <a href="tag/windows/" rel="tag">windows</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p>There are multiple ways to monitor Docker containers.</p>
<ul>
<li>Docker CLI provides the <code>docker container stats</code> API that gives basic information about the running containers.</li>
<li>Docker Remote API provides more detailed information about the containers.</li>
<li>Starting with Docker 1.13, there is an experimental feature with a Prometheus endpoint</li>
<li>cAdvisor is an open source tool that provides last container usage and performance characteristics. This data can be stored in a time series database, such as InfluxDB. This data can then be shown in a fancy graph using a Kibana dashboard.</li>
</ul>
<p>These options were covered in detail in an <a href="monitoring-docker-containers-stats-cadvisor-universal-control-plane/">earlier blog</a>.</p>
<p>There are other commercial options like Docker EE, Sysdig, Datadog, New Relic, App Dynamics and others. If you are running containers on AWS, then CloudWatch can provide integrated monitoring.</p>
<p>OSX is my primary development platform. But recently, I needed a way to monitor Docker containers using the Remote API (aka REST API) on a Windows machine. The output of the REST API is exactly same independent of the operating system. But the way to access the Docker REST API using <code>curl</code> is different on an OSX and a Windows machine. This blog will explain how to exactly access this API on these two operating systems.</p>
<p>Check out 1.27 swagger specification to learn more about the capabilities of the REST API. A nicer and a more readable version of the API can be seen using Swagger UI. This is broken until #32649 is fixed.</p>
<p>Complete details about how the REST API corresponds to different Docker versions is explained in Docker REST API Versioning.</p>
<p>We’ll dig into this a bit later but first let’s take a look on how this API can be accessed.</p>
<h2>Docker Remote API on OSX</h2>
<p>On OSX, <code>curl</code> connects using a Unix domain socket as shown:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aad96550574235" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
curl --unix-sock /var/run/docker.sock http://localhost/containers/&lt;name-or-id&gt;/stats
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aad96550574235-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aad96550574235-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aad96550574235-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aad96550574235-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aad96550574235-2"><span class="crayon-v">curl</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">unix</span><span class="crayon-o">-</span><span class="crayon-v">sock</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-t">var</span><span class="crayon-o">/</span><span class="crayon-v">run</span><span class="crayon-o">/</span><span class="crayon-v">docker</span><span class="crayon-sy">.</span><span class="crayon-e">sock </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//localhost/containers/&lt;name-or-id&gt;/stats</span></div><div class="crayon-line" id="crayon-5cfd1e54aad96550574235-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0009 seconds] -->
<p>
A WildFly container can be started as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aadaf964260416" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker run --name web -d jboss/wildfly
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aadaf964260416-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadaf964260416-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aadaf964260416-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aadaf964260416-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadaf964260416-2"><span class="crayon-e">docker </span><span class="crayon-v">run</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-e">name </span><span class="crayon-v">web</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">d</span><span class="crayon-h"> </span><span class="crayon-v">jboss</span><span class="crayon-o">/</span><span class="crayon-i">wildfly</span></div><div class="crayon-line" id="crayon-5cfd1e54aadaf964260416-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0007 seconds] -->
<p>
Stats can then be obtained using the command:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aadbd220222984" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
curl --unix-socket /var/run/docker.sock http://localhost/containers/web/stats
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aadbd220222984-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadbd220222984-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aadbd220222984-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aadbd220222984-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadbd220222984-2"><span class="crayon-v">curl</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">unix</span><span class="crayon-o">-</span><span class="crayon-v">socket</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-t">var</span><span class="crayon-o">/</span><span class="crayon-v">run</span><span class="crayon-o">/</span><span class="crayon-v">docker</span><span class="crayon-sy">.</span><span class="crayon-e">sock </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//localhost/containers/web/stats</span></div><div class="crayon-line" id="crayon-5cfd1e54aadbd220222984-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0008 seconds] -->
<p>
This will start printing stats as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aadcb571419828" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div><span class="crayon-language">JavaScript</span></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
{  
   "read":"2017-04-16T21:25:06.99499178Z",
   "preread":"0001-01-01T00:00:00Z",
   "pids_stats":{  
      "current":40
   },
   "blkio_stats":{  
      "io_service_bytes_recursive":[  
         {  
            "major":8,
            "minor":0,
            "op":"Read",
            "value":0
         },
         {  
            "major":8,
            "minor":0,
            "op":"Write",
            "value":4096
         },
         {  
            "major":8,
            "minor":0,
            "op":"Sync",
            "value":0
         },
         {  
            "major":8,
            "minor":0,
            "op":"Async",
            "value":4096
         },
         {  
            "major":8,
            "minor":0,
            "op":"Total",
            "value":4096
         }
      ],
      "io_serviced_recursive":[  
         {  
            "major":8,
            "minor":0,
            "op":"Read",
            "value":0
         },
         {  
            "major":8,
            "minor":0,
            "op":"Write",
            "value":1
         },
         {  
            "major":8,
            "minor":0,
            "op":"Sync",
            "value":0
         },
         {  
            "major":8,
            "minor":0,
            "op":"Async",
            "value":1
         },
         {  
            "major":8,
            "minor":0,
            "op":"Total",
            "value":1
         }
      ],
      "io_queue_recursive":[  
      ],
      "io_service_time_recursive":[  
      ],
      "io_wait_time_recursive":[  
      ],
      "io_merged_recursive":[  
      ],
      "io_time_recursive":[  
      ],
      "sectors_recursive":[  
      ]
   },
   "num_procs":0,
   "storage_stats":{  
   },
   "cpu_stats":{  
      "cpu_usage":{  
         "total_usage":9569101779,
         "percpu_usage":[  
            4920699125,
            4648402654
         ],
         "usage_in_kernelmode":1050000000,
         "usage_in_usermode":7730000000
      },
      "system_cpu_usage":5431500000000,
      "online_cpus":2,
      "throttling_data":{  
         "periods":0,
         "throttled_periods":0,
         "throttled_time":0
      }
   },
   "precpu_stats":{  
      "cpu_usage":{  
         "total_usage":0,
         "usage_in_kernelmode":0,
         "usage_in_usermode":0
      },
      "throttling_data":{  
         "periods":0,
         "throttled_periods":0,
         "throttled_time":0
      }
   },
   "memory_stats":{  
      "usage":266448896,
      "max_usage":285159424,
      "stats":{  
         "active_anon":241647616,
         "active_file":90112,
         "cache":225280,
         "dirty":20480,
         "hierarchical_memory_limit":9223372036854772000,
         "hierarchical_memsw_limit":9223372036854772000,
         "inactive_anon":20971520,
         "inactive_file":135168,
         "mapped_file":32768,
         "pgfault":81529,
         "pgmajfault":1,
         "pgpgin":76795,
         "pgpgout":12624,
         "rss":262619136,
         "rss_huge":0,
         "swap":57344,
         "total_active_anon":241647616,
         "total_active_file":90112,
         "total_cache":225280,
         "total_dirty":20480,
         "total_inactive_anon":20971520,
         "total_inactive_file":135168,
         "total_mapped_file":32768,
         "total_pgfault":81529,
         "total_pgmajfault":1,
         "total_pgpgin":76795,
         "total_pgpgout":12624,
         "total_rss":262619136,
         "total_rss_huge":0,
         "total_swap":57344,
         "total_unevictable":0,
         "total_writeback":0,
         "unevictable":0,
         "writeback":0
      },
      "limit":2096181248
   },
   "name":"/web",
   "id":"b6ad4af36f05ce100877d2d60c72e01b87f3627682e4492e7abe2a099b709953",
   "networks":{  
      "eth0":{  
         "rx_bytes":2764,
         "rx_packets":50,
         "rx_errors":0,
         "rx_dropped":0,
         "tx_bytes":0,
         "tx_packets":0,
         "tx_errors":0,
         "tx_dropped":0
      }
   }
}
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-26">26</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-28">28</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-29">29</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-30">30</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-31">31</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-32">32</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-33">33</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-34">34</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-35">35</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-36">36</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-37">37</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-38">38</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-39">39</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-40">40</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-41">41</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-42">42</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-43">43</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-44">44</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-45">45</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-46">46</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-47">47</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-48">48</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-49">49</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-50">50</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-51">51</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-52">52</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-53">53</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-54">54</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-55">55</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-56">56</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-57">57</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-58">58</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-59">59</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-60">60</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-61">61</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-62">62</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-63">63</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-64">64</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-65">65</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-66">66</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-67">67</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-68">68</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-69">69</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-70">70</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-71">71</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-72">72</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-73">73</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-74">74</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-75">75</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-76">76</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-77">77</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-78">78</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-79">79</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-80">80</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-81">81</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-82">82</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-83">83</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-84">84</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-85">85</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-86">86</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-87">87</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-88">88</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-89">89</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-90">90</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-91">91</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-92">92</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-93">93</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-94">94</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-95">95</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-96">96</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-97">97</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-98">98</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-99">99</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-100">100</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-101">101</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-102">102</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-103">103</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-104">104</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-105">105</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-106">106</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-107">107</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-108">108</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-109">109</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-110">110</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-111">111</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-112">112</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-113">113</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-114">114</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-115">115</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-116">116</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-117">117</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-118">118</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-119">119</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-120">120</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-121">121</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-122">122</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-123">123</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-124">124</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-125">125</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-126">126</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-127">127</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-128">128</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-129">129</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-130">130</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-131">131</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-132">132</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-133">133</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-134">134</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-135">135</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-136">136</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-137">137</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-138">138</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-139">139</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-140">140</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-141">141</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-142">142</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-143">143</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-144">144</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-145">145</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-146">146</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-147">147</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-148">148</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-149">149</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-150">150</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-151">151</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-152">152</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-153">153</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-154">154</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-155">155</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-156">156</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-157">157</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-158">158</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-159">159</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-160">160</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-161">161</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-162">162</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-163">163</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-164">164</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-165">165</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-166">166</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-167">167</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-168">168</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-169">169</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-170">170</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-171">171</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-172">172</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-173">173</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-174">174</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-175">175</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-176">176</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-177">177</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-178">178</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-179">179</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-180">180</div><div class="crayon-num" data-line="crayon-5cfd1e54aadcb571419828-181">181</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadcb571419828-182">182</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-2"><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-3"><span class="crayon-h">   </span><span class="crayon-s">"read"</span><span class="crayon-o">:</span><span class="crayon-s">"2017-04-16T21:25:06.99499178Z"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-4"><span class="crayon-h">   </span><span class="crayon-s">"preread"</span><span class="crayon-o">:</span><span class="crayon-s">"0001-01-01T00:00:00Z"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-5"><span class="crayon-h">   </span><span class="crayon-s">"pids_stats"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-6"><span class="crayon-h">      </span><span class="crayon-s">"current"</span><span class="crayon-o">:</span><span class="crayon-cn">40</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-7"><span class="crayon-h">   </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-8"><span class="crayon-h">   </span><span class="crayon-s">"blkio_stats"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-9"><span class="crayon-h">      </span><span class="crayon-s">"io_service_bytes_recursive"</span><span class="crayon-o">:</span><span class="crayon-sy">[</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-10"><span class="crayon-h">         </span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-11"><span class="crayon-h">            </span><span class="crayon-s">"major"</span><span class="crayon-o">:</span><span class="crayon-cn">8</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-12"><span class="crayon-h">            </span><span class="crayon-s">"minor"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-13"><span class="crayon-h">            </span><span class="crayon-s">"op"</span><span class="crayon-o">:</span><span class="crayon-s">"Read"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-14"><span class="crayon-h">            </span><span class="crayon-s">"value"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-15"><span class="crayon-h">         </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-16"><span class="crayon-h">         </span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-17"><span class="crayon-h">            </span><span class="crayon-s">"major"</span><span class="crayon-o">:</span><span class="crayon-cn">8</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-18"><span class="crayon-h">            </span><span class="crayon-s">"minor"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-19"><span class="crayon-h">            </span><span class="crayon-s">"op"</span><span class="crayon-o">:</span><span class="crayon-s">"Write"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-20"><span class="crayon-h">            </span><span class="crayon-s">"value"</span><span class="crayon-o">:</span><span class="crayon-cn">4096</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-21"><span class="crayon-h">         </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-22"><span class="crayon-h">         </span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-23"><span class="crayon-h">            </span><span class="crayon-s">"major"</span><span class="crayon-o">:</span><span class="crayon-cn">8</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-24"><span class="crayon-h">            </span><span class="crayon-s">"minor"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-25"><span class="crayon-h">            </span><span class="crayon-s">"op"</span><span class="crayon-o">:</span><span class="crayon-s">"Sync"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-26"><span class="crayon-h">            </span><span class="crayon-s">"value"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-27"><span class="crayon-h">         </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-28"><span class="crayon-h">         </span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-29"><span class="crayon-h">            </span><span class="crayon-s">"major"</span><span class="crayon-o">:</span><span class="crayon-cn">8</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-30"><span class="crayon-h">            </span><span class="crayon-s">"minor"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-31"><span class="crayon-h">            </span><span class="crayon-s">"op"</span><span class="crayon-o">:</span><span class="crayon-s">"Async"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-32"><span class="crayon-h">            </span><span class="crayon-s">"value"</span><span class="crayon-o">:</span><span class="crayon-cn">4096</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-33"><span class="crayon-h">         </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-34"><span class="crayon-h">         </span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-35"><span class="crayon-h">            </span><span class="crayon-s">"major"</span><span class="crayon-o">:</span><span class="crayon-cn">8</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-36"><span class="crayon-h">            </span><span class="crayon-s">"minor"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-37"><span class="crayon-h">            </span><span class="crayon-s">"op"</span><span class="crayon-o">:</span><span class="crayon-s">"Total"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-38"><span class="crayon-h">            </span><span class="crayon-s">"value"</span><span class="crayon-o">:</span><span class="crayon-cn">4096</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-39"><span class="crayon-h">         </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-40"><span class="crayon-h">      </span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-41"><span class="crayon-h">      </span><span class="crayon-s">"io_serviced_recursive"</span><span class="crayon-o">:</span><span class="crayon-sy">[</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-42"><span class="crayon-h">         </span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-43"><span class="crayon-h">            </span><span class="crayon-s">"major"</span><span class="crayon-o">:</span><span class="crayon-cn">8</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-44"><span class="crayon-h">            </span><span class="crayon-s">"minor"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-45"><span class="crayon-h">            </span><span class="crayon-s">"op"</span><span class="crayon-o">:</span><span class="crayon-s">"Read"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-46"><span class="crayon-h">            </span><span class="crayon-s">"value"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-47"><span class="crayon-h">         </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-48"><span class="crayon-h">         </span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-49"><span class="crayon-h">            </span><span class="crayon-s">"major"</span><span class="crayon-o">:</span><span class="crayon-cn">8</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-50"><span class="crayon-h">            </span><span class="crayon-s">"minor"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-51"><span class="crayon-h">            </span><span class="crayon-s">"op"</span><span class="crayon-o">:</span><span class="crayon-s">"Write"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-52"><span class="crayon-h">            </span><span class="crayon-s">"value"</span><span class="crayon-o">:</span><span class="crayon-cn">1</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-53"><span class="crayon-h">         </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-54"><span class="crayon-h">         </span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-55"><span class="crayon-h">            </span><span class="crayon-s">"major"</span><span class="crayon-o">:</span><span class="crayon-cn">8</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-56"><span class="crayon-h">            </span><span class="crayon-s">"minor"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-57"><span class="crayon-h">            </span><span class="crayon-s">"op"</span><span class="crayon-o">:</span><span class="crayon-s">"Sync"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-58"><span class="crayon-h">            </span><span class="crayon-s">"value"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-59"><span class="crayon-h">         </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-60"><span class="crayon-h">         </span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-61"><span class="crayon-h">            </span><span class="crayon-s">"major"</span><span class="crayon-o">:</span><span class="crayon-cn">8</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-62"><span class="crayon-h">            </span><span class="crayon-s">"minor"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-63"><span class="crayon-h">            </span><span class="crayon-s">"op"</span><span class="crayon-o">:</span><span class="crayon-s">"Async"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-64"><span class="crayon-h">            </span><span class="crayon-s">"value"</span><span class="crayon-o">:</span><span class="crayon-cn">1</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-65"><span class="crayon-h">         </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-66"><span class="crayon-h">         </span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-67"><span class="crayon-h">            </span><span class="crayon-s">"major"</span><span class="crayon-o">:</span><span class="crayon-cn">8</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-68"><span class="crayon-h">            </span><span class="crayon-s">"minor"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-69"><span class="crayon-h">            </span><span class="crayon-s">"op"</span><span class="crayon-o">:</span><span class="crayon-s">"Total"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-70"><span class="crayon-h">            </span><span class="crayon-s">"value"</span><span class="crayon-o">:</span><span class="crayon-cn">1</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-71"><span class="crayon-h">         </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-72"><span class="crayon-h">      </span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-73"><span class="crayon-h">      </span><span class="crayon-s">"io_queue_recursive"</span><span class="crayon-o">:</span><span class="crayon-sy">[</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-74"> </div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-75"><span class="crayon-h">      </span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-76"><span class="crayon-h">      </span><span class="crayon-s">"io_service_time_recursive"</span><span class="crayon-o">:</span><span class="crayon-sy">[</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-77"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-78"><span class="crayon-h">      </span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-79"><span class="crayon-h">      </span><span class="crayon-s">"io_wait_time_recursive"</span><span class="crayon-o">:</span><span class="crayon-sy">[</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-80"> </div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-81"><span class="crayon-h">      </span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-82"><span class="crayon-h">      </span><span class="crayon-s">"io_merged_recursive"</span><span class="crayon-o">:</span><span class="crayon-sy">[</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-83"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-84"><span class="crayon-h">      </span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-85"><span class="crayon-h">      </span><span class="crayon-s">"io_time_recursive"</span><span class="crayon-o">:</span><span class="crayon-sy">[</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-86"> </div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-87"><span class="crayon-h">      </span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-88"><span class="crayon-h">      </span><span class="crayon-s">"sectors_recursive"</span><span class="crayon-o">:</span><span class="crayon-sy">[</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-89"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-90"><span class="crayon-h">      </span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-91"><span class="crayon-h">   </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-92"><span class="crayon-h">   </span><span class="crayon-s">"num_procs"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-93"><span class="crayon-h">   </span><span class="crayon-s">"storage_stats"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-94"> </div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-95"><span class="crayon-h">   </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-96"><span class="crayon-h">   </span><span class="crayon-s">"cpu_stats"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-97"><span class="crayon-h">      </span><span class="crayon-s">"cpu_usage"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-98"><span class="crayon-h">         </span><span class="crayon-s">"total_usage"</span><span class="crayon-o">:</span><span class="crayon-cn">9569101779</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-99"><span class="crayon-h">         </span><span class="crayon-s">"percpu_usage"</span><span class="crayon-o">:</span><span class="crayon-sy">[</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-100"><span class="crayon-h">            </span><span class="crayon-cn">4920699125</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-101"><span class="crayon-h">            </span><span class="crayon-cn">4648402654</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-102"><span class="crayon-h">         </span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-103"><span class="crayon-h">         </span><span class="crayon-s">"usage_in_kernelmode"</span><span class="crayon-o">:</span><span class="crayon-cn">1050000000</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-104"><span class="crayon-h">         </span><span class="crayon-s">"usage_in_usermode"</span><span class="crayon-o">:</span><span class="crayon-cn">7730000000</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-105"><span class="crayon-h">      </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-106"><span class="crayon-h">      </span><span class="crayon-s">"system_cpu_usage"</span><span class="crayon-o">:</span><span class="crayon-cn">5431500000000</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-107"><span class="crayon-h">      </span><span class="crayon-s">"online_cpus"</span><span class="crayon-o">:</span><span class="crayon-cn">2</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-108"><span class="crayon-h">      </span><span class="crayon-s">"throttling_data"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-109"><span class="crayon-h">         </span><span class="crayon-s">"periods"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-110"><span class="crayon-h">         </span><span class="crayon-s">"throttled_periods"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-111"><span class="crayon-h">         </span><span class="crayon-s">"throttled_time"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-112"><span class="crayon-h">      </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-113"><span class="crayon-h">   </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-114"><span class="crayon-h">   </span><span class="crayon-s">"precpu_stats"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-115"><span class="crayon-h">      </span><span class="crayon-s">"cpu_usage"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-116"><span class="crayon-h">         </span><span class="crayon-s">"total_usage"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-117"><span class="crayon-h">         </span><span class="crayon-s">"usage_in_kernelmode"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-118"><span class="crayon-h">         </span><span class="crayon-s">"usage_in_usermode"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-119"><span class="crayon-h">      </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-120"><span class="crayon-h">      </span><span class="crayon-s">"throttling_data"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-121"><span class="crayon-h">         </span><span class="crayon-s">"periods"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-122"><span class="crayon-h">         </span><span class="crayon-s">"throttled_periods"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-123"><span class="crayon-h">         </span><span class="crayon-s">"throttled_time"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-124"><span class="crayon-h">      </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-125"><span class="crayon-h">   </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-126"><span class="crayon-h">   </span><span class="crayon-s">"memory_stats"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-127"><span class="crayon-h">      </span><span class="crayon-s">"usage"</span><span class="crayon-o">:</span><span class="crayon-cn">266448896</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-128"><span class="crayon-h">      </span><span class="crayon-s">"max_usage"</span><span class="crayon-o">:</span><span class="crayon-cn">285159424</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-129"><span class="crayon-h">      </span><span class="crayon-s">"stats"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-130"><span class="crayon-h">         </span><span class="crayon-s">"active_anon"</span><span class="crayon-o">:</span><span class="crayon-cn">241647616</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-131"><span class="crayon-h">         </span><span class="crayon-s">"active_file"</span><span class="crayon-o">:</span><span class="crayon-cn">90112</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-132"><span class="crayon-h">         </span><span class="crayon-s">"cache"</span><span class="crayon-o">:</span><span class="crayon-cn">225280</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-133"><span class="crayon-h">         </span><span class="crayon-s">"dirty"</span><span class="crayon-o">:</span><span class="crayon-cn">20480</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-134"><span class="crayon-h">         </span><span class="crayon-s">"hierarchical_memory_limit"</span><span class="crayon-o">:</span><span class="crayon-cn">9223372036854772000</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-135"><span class="crayon-h">         </span><span class="crayon-s">"hierarchical_memsw_limit"</span><span class="crayon-o">:</span><span class="crayon-cn">9223372036854772000</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-136"><span class="crayon-h">         </span><span class="crayon-s">"inactive_anon"</span><span class="crayon-o">:</span><span class="crayon-cn">20971520</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-137"><span class="crayon-h">         </span><span class="crayon-s">"inactive_file"</span><span class="crayon-o">:</span><span class="crayon-cn">135168</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-138"><span class="crayon-h">         </span><span class="crayon-s">"mapped_file"</span><span class="crayon-o">:</span><span class="crayon-cn">32768</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-139"><span class="crayon-h">         </span><span class="crayon-s">"pgfault"</span><span class="crayon-o">:</span><span class="crayon-cn">81529</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-140"><span class="crayon-h">         </span><span class="crayon-s">"pgmajfault"</span><span class="crayon-o">:</span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-141"><span class="crayon-h">         </span><span class="crayon-s">"pgpgin"</span><span class="crayon-o">:</span><span class="crayon-cn">76795</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-142"><span class="crayon-h">         </span><span class="crayon-s">"pgpgout"</span><span class="crayon-o">:</span><span class="crayon-cn">12624</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-143"><span class="crayon-h">         </span><span class="crayon-s">"rss"</span><span class="crayon-o">:</span><span class="crayon-cn">262619136</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-144"><span class="crayon-h">         </span><span class="crayon-s">"rss_huge"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-145"><span class="crayon-h">         </span><span class="crayon-s">"swap"</span><span class="crayon-o">:</span><span class="crayon-cn">57344</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-146"><span class="crayon-h">         </span><span class="crayon-s">"total_active_anon"</span><span class="crayon-o">:</span><span class="crayon-cn">241647616</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-147"><span class="crayon-h">         </span><span class="crayon-s">"total_active_file"</span><span class="crayon-o">:</span><span class="crayon-cn">90112</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-148"><span class="crayon-h">         </span><span class="crayon-s">"total_cache"</span><span class="crayon-o">:</span><span class="crayon-cn">225280</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-149"><span class="crayon-h">         </span><span class="crayon-s">"total_dirty"</span><span class="crayon-o">:</span><span class="crayon-cn">20480</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-150"><span class="crayon-h">         </span><span class="crayon-s">"total_inactive_anon"</span><span class="crayon-o">:</span><span class="crayon-cn">20971520</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-151"><span class="crayon-h">         </span><span class="crayon-s">"total_inactive_file"</span><span class="crayon-o">:</span><span class="crayon-cn">135168</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-152"><span class="crayon-h">         </span><span class="crayon-s">"total_mapped_file"</span><span class="crayon-o">:</span><span class="crayon-cn">32768</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-153"><span class="crayon-h">         </span><span class="crayon-s">"total_pgfault"</span><span class="crayon-o">:</span><span class="crayon-cn">81529</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-154"><span class="crayon-h">         </span><span class="crayon-s">"total_pgmajfault"</span><span class="crayon-o">:</span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-155"><span class="crayon-h">         </span><span class="crayon-s">"total_pgpgin"</span><span class="crayon-o">:</span><span class="crayon-cn">76795</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-156"><span class="crayon-h">         </span><span class="crayon-s">"total_pgpgout"</span><span class="crayon-o">:</span><span class="crayon-cn">12624</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-157"><span class="crayon-h">         </span><span class="crayon-s">"total_rss"</span><span class="crayon-o">:</span><span class="crayon-cn">262619136</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-158"><span class="crayon-h">         </span><span class="crayon-s">"total_rss_huge"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-159"><span class="crayon-h">         </span><span class="crayon-s">"total_swap"</span><span class="crayon-o">:</span><span class="crayon-cn">57344</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-160"><span class="crayon-h">         </span><span class="crayon-s">"total_unevictable"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-161"><span class="crayon-h">         </span><span class="crayon-s">"total_writeback"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-162"><span class="crayon-h">         </span><span class="crayon-s">"unevictable"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-163"><span class="crayon-h">         </span><span class="crayon-s">"writeback"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-164"><span class="crayon-h">      </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-165"><span class="crayon-h">      </span><span class="crayon-s">"limit"</span><span class="crayon-o">:</span><span class="crayon-cn">2096181248</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-166"><span class="crayon-h">   </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-167"><span class="crayon-h">   </span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-s">"/web"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-168"><span class="crayon-h">   </span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-s">"b6ad4af36f05ce100877d2d60c72e01b87f3627682e4492e7abe2a099b709953"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-169"><span class="crayon-h">   </span><span class="crayon-s">"networks"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-170"><span class="crayon-h">      </span><span class="crayon-s">"eth0"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-171"><span class="crayon-h">         </span><span class="crayon-s">"rx_bytes"</span><span class="crayon-o">:</span><span class="crayon-cn">2764</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-172"><span class="crayon-h">         </span><span class="crayon-s">"rx_packets"</span><span class="crayon-o">:</span><span class="crayon-cn">50</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-173"><span class="crayon-h">         </span><span class="crayon-s">"rx_errors"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-174"><span class="crayon-h">         </span><span class="crayon-s">"rx_dropped"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-175"><span class="crayon-h">         </span><span class="crayon-s">"tx_bytes"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-176"><span class="crayon-h">         </span><span class="crayon-s">"tx_packets"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-177"><span class="crayon-h">         </span><span class="crayon-s">"tx_errors"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-178"><span class="crayon-h">         </span><span class="crayon-s">"tx_dropped"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-179"><span class="crayon-h">      </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-180"><span class="crayon-h">   </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54aadcb571419828-181"><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadcb571419828-182"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0276 seconds] -->
<p>
These stats are refreshed every second.</p>
<p>Any other REST API can be invoked very easily with this. This is simple and straight forward.</p>
<h2>Install Docker on Windows</h2>
<p>Docker installation on Windows depends on the flavor of your operating system.</p>
<p>Are you using Windows 10+ Pro 64-bit, then use Docker for Windows.</p>
<p>If using any older version of Windows, then you need to use Docker Toolbox.</p>
<p>Are you installing Windows in a virtual machine? Then Virtual Box cannot be used to create the VM. This is because Virtual Box does not support nested virtualization. This is required as Docker Toolbox uses Virtual Box to create and start Docker Machine. VMWare Fusion seems to work fine here though.</p>
<p>Now that you know that VMWare Fusion needs to be used, make sure you enable nested virtualization before starting the virtual machine.</p>
<p>Many thanks to Stefan Scherer (@stefscherer) for helping me understand the Windows configuration details.</p>
<p>Let’s see how the Docker REST API can now be invoked.</p>
<h2>Docker Remote API on Windows 7/8</h2>
<p>This section shows how to invoke the REST API using <code>curl</code> on Windows 7/8.</p>
<p>The REST API can be invoked using <code>curl</code> as shown:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aade2619803427" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
curl --cert &lt;CERT&gt; --cacert &lt;CA_CERT&gt; --key &lt;KEY&gt; https://localhost/containers/&lt;name-or-id&gt;/stats
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aade2619803427-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aade2619803427-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aade2619803427-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aade2619803427-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aade2619803427-2"><span class="crayon-v">curl</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">cert</span><span class="crayon-h"> </span><span class="crayon-o">&lt;</span><span class="crayon-v">CERT</span><span class="crayon-o">&gt;</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">cacert</span><span class="crayon-h"> </span><span class="crayon-o">&lt;</span><span class="crayon-v">CA_CERT</span><span class="crayon-o">&gt;</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">key</span><span class="crayon-h"> </span><span class="crayon-o">&lt;</span><span class="crayon-v">KEY</span><span class="crayon-o">&gt;</span><span class="crayon-h"> </span><span class="crayon-v">https</span><span class="crayon-o">:</span><span class="crayon-c">//localhost/containers/&lt;name-or-id&gt;/stats</span></div><div class="crayon-line" id="crayon-5cfd1e54aade2619803427-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0013 seconds] -->
<p>
First of all, the REST API, <code>/containers/&lt;name-or-id&gt;/stats</code>, is exactly the same. The way this API can be invoked is a bit different.</p>
<p>There are four differences: The first three parameters specify security credentials for the Docker Machine generated by Docker Toolbox on your Windows box:</p>
<ul>
<li><code>&lt;CERT&gt;</code> is the SSL certificate for Docker Machine</li>
<li><code>&lt;CA_CERT&gt;</code> is the Certificate Authority certificate for the Docker Machine</li>
<li><code>&lt;KEY&gt;</code> is the key generated for the Docker Machine</li>
</ul>
<p>The values of these configuration parameters is those generated by <code>docker-machine</code> CLI.</p>
<p>The last change is that the protocol is changed from <code>http</code> to <code>https</code>.</p>
<p>Here is the exact command that worked on Windows 7 VM:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aadf2739492134" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
$ curl --cert /c/Users/Arun\ Gupta/.docker/machine/machines/default/cert.pem --cacert /c/Users/Arun\ Gupta/.docker/machine/machines/default/ca.pem --key /c/Users/Arun\ Gupta/.docker/machine/machines/default/key.pem https://192.168.99.100:2376/containers/web/stats
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aadf2739492134-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aadf2739492134-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aadf2739492134-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aadf2739492134-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aadf2739492134-2"><span class="crayon-sy">$</span><span class="crayon-h"> </span><span class="crayon-v">curl</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">cert</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">c</span><span class="crayon-o">/</span><span class="crayon-v">Users</span><span class="crayon-o">/</span><span class="crayon-v">Arun</span><span class="crayon-sy">\</span><span class="crayon-h"> </span><span class="crayon-v">Gupta</span><span class="crayon-o">/</span><span class="crayon-sy">.</span><span class="crayon-v">docker</span><span class="crayon-o">/</span><span class="crayon-v">machine</span><span class="crayon-o">/</span><span class="crayon-v">machines</span><span class="crayon-o">/</span><span class="crayon-st">default</span><span class="crayon-o">/</span><span class="crayon-v">cert</span><span class="crayon-sy">.</span><span class="crayon-v">pem</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">cacert</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">c</span><span class="crayon-o">/</span><span class="crayon-v">Users</span><span class="crayon-o">/</span><span class="crayon-v">Arun</span><span class="crayon-sy">\</span><span class="crayon-h"> </span><span class="crayon-v">Gupta</span><span class="crayon-o">/</span><span class="crayon-sy">.</span><span class="crayon-v">docker</span><span class="crayon-o">/</span><span class="crayon-v">machine</span><span class="crayon-o">/</span><span class="crayon-v">machines</span><span class="crayon-o">/</span><span class="crayon-st">default</span><span class="crayon-o">/</span><span class="crayon-v">ca</span><span class="crayon-sy">.</span><span class="crayon-v">pem</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">key</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">c</span><span class="crayon-o">/</span><span class="crayon-v">Users</span><span class="crayon-o">/</span><span class="crayon-v">Arun</span><span class="crayon-sy">\</span><span class="crayon-h"> </span><span class="crayon-v">Gupta</span><span class="crayon-o">/</span><span class="crayon-sy">.</span><span class="crayon-v">docker</span><span class="crayon-o">/</span><span class="crayon-v">machine</span><span class="crayon-o">/</span><span class="crayon-v">machines</span><span class="crayon-o">/</span><span class="crayon-st">default</span><span class="crayon-o">/</span><span class="crayon-v">key</span><span class="crayon-sy">.</span><span class="crayon-e">pem </span><span class="crayon-v">https</span><span class="crayon-o">:</span><span class="crayon-c">//192.168.99.100:2376/containers/web/stats</span></div><div class="crayon-line" id="crayon-5cfd1e54aadf2739492134-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0032 seconds] -->
<p>
This invocation will print the exact same stats output on Windows 7 VM.</p>
<p>Now that you know how to use this API on OSX and Windows, you can also this API to do everything that Docker CLI. This is because the Docker CLI is just a convenient wrapper over the REST API. So a <code>docker container run</code> command is invoking the appropriate REST API on the Docker Host.</p>
<h2>Docker Remote API on Windows 10</h2>
<p>If you are using Windows 10, then use Docker for Windows. After that, you need to figure out which <code>curl</code> command to be used. There are couple of options:</p>
<ul>
<li>Use Bash shell on Windows. It has <code>curl</code> command that works like Unix command that we all know pretty well. In this case, the REST API can be invoked as:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aae01574416079" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
curl http://localhost:2375/containers/web/stats
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aae01574416079-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aae01574416079-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aae01574416079-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aae01574416079-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aae01574416079-2"><span class="crayon-e">curl </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//localhost:2375/containers/web/stats</span></div><div class="crayon-line" id="crayon-5cfd1e54aae01574416079-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0005 seconds] -->
Docker for Windows listens on port <code>2375</code> on Windows.</li>
<li>If you are Powershell user, then install <code>curl</code> command as:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aae0f903004498" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
choco install -u curl
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aae0f903004498-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aae0f903004498-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aae0f903004498-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aae0f903004498-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aae0f903004498-2"><span class="crayon-e">choco </span><span class="crayon-v">install</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">u</span><span class="crayon-h"> </span><span class="crayon-i">curl</span></div><div class="crayon-line" id="crayon-5cfd1e54aae0f903004498-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0006 seconds] -->
Now the command to invoke the REST API is:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aae1d980847556" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
curl.exe http://localhost:2375/containers/web/stats
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aae1d980847556-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aae1d980847556-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aae1d980847556-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aae1d980847556-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aae1d980847556-2"><span class="crayon-v">curl</span><span class="crayon-sy">.</span><span class="crayon-e">exe </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//localhost:2375/containers/web/stats</span></div><div class="crayon-line" id="crayon-5cfd1e54aae1d980847556-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0005 seconds] -->
Note, there is a <code>curl</code> alias in Powershell and that is an alias for <code>Invoke-WebRequest</code>. So make sure to use <code>curl.exe</code> to invoke the REST API as this is the command installed using Chocolatey.</li>
</ul>
<p>This blog provided different options of how to invoke the Docker Remote API using <code>curl</code> on Windows and OSX.</p>
<p> </p>
</div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="docker-remote-api-mac-windows-osx/#comments">View all 7 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
</article><!-- #post -->
<article class="post-14660 post type-post status-publish format-standard hentry category-personal tag-aws tag-couchbase" id="post-14660">
<header class="entry-header">
<h1 class="entry-title">
<a href="bye-bye-couchbase-hello-amazon-web-services/" rel="bookmark">Bye Bye Couchbase, Hello Amazon Web Services!</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="bye-bye-couchbase-hello-amazon-web-services/" rel="bookmark" title="Permalink to Bye Bye Couchbase, Hello Amazon Web Services!"><time class="entry-date" datetime="2017-04-10T05:44:01+00:00">April 10, 2017</time></a></span><span class="categories-links"><a href="topics/personal/" rel="category tag">personal</a></span><span class="tags-links"><a href="tag/aws/" rel="tag">aws</a>, <a href="tag/couchbase/" rel="tag">couchbase</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p>After spending a little over 18 months at Couchbase, the future is cloudy, very cloudy!</p>
<p>Friday, April 7th, 2017, was my last day at Couchbase. This Monday, April 10th, 2017, is my first day at Amazon.</p>
<p><a href="#"><img alt="aws" class="alignnone size-large wp-image-14668" height="453" src="wp-content/uploads/2017/04/aws-1024x768.jpg" width="604"/></a></p>
<h2>What will I be doing?</h2>
<p>I’ll be part of the newly formed Open Source team at Amazon Web Services. I’m super excited to be working with Adrian Cockroft (@adrianco) and Zaheda Bhorat (@zahedab).</p>
<p>As a Principal Open Source Technologist, my initial focus will be to make sure AWS continues to be the best platform for running your containerized solutions. Yes, we’d like you to use EC2 Container Service. But if you want to use Docker, Kubernetes, DC/OS or any other open source orchestration framework, so be it! We will continue to work with our partners and the open source community, including contributing to these projects, to make sure AWS remains the best place to run your containerized workloads.</p>
<p>In addition, there are numerous other opportunities around open source and AWS like mxnet, Blox and likely many more to be created.</p>
<h2>Why change?</h2>
<p>I had a lot of fun working at a Silicon Valley startup. The amount of learning in terms of implementing the pipeline from adoption -&gt; engagement -&gt; monetization was immense. Working with different teams very closely, learning their machinery and helping them understand the relevance of community was quite a thrilling experience. Having significant part of the company colocated in a single location allowed a different level of interaction altogether. Working with Developer Advocacy team to meet, and quite often exceed, the metrics every month was a lot of fun.</p>
<p>However, for those who’ve followed me speaking at conferences and read my content over the past couple of years know that I’m passionate about containers. As Oprah Winfrey said:</p>
<blockquote><p>Passion is energy!</p>
<p>Feel the power that comes from focusing on what excites you</p></blockquote>
<p>This opportunity at AWS allows me to follow my heart and passion.</p>
<p>Some other quotes that truly symbolize my state of mind at this time …</p>
<p><a href="wp-content/uploads/2017/04/passion1.jpg"><img alt="passion1" class="alignnone wp-image-14672" height="337" src="wp-content/uploads/2017/04/passion1.jpg" width="278"/></a> <a href="wp-content/uploads/2017/04/passion3.jpg"><img alt="passion3" class="alignnone wp-image-14673" height="305" src="wp-content/uploads/2017/04/passion3.jpg" width="305"/></a></p>
<p>This personal change is by no means any indication on the quality of Couchbase products. Both Couchbase Server and Couchbase Mobile are very well positioned for enterprise adoption. N1QL allows database developers to leverage their SQL skills and apply them to a NoSQL document database. Couchbase Mobile is a unique offering that provides offline capability for mobile applications and synchronization with a backend database when online. It will continue to blaze new trails and bring new types of customers. I wish all of them good luck!</p>
<p>A popular saying is “change is the only constant”. And so here I go again making another change in my career. Looking forward to see you at conferences and meetups around the world.</p>
<p>This also means, the blog title will change to Miles to go 4.0 now (<a href="welcome-to-miles-to-go/">2.0</a>, <a href="new-gig-at-couchbase/">3.0</a>)!</p>
<h2>Where will you see me?</h2>
<p>Some upcoming speaking engagements are DockerCon (Austin), GIDS (Bangalore), OSCON (Austin). Amazon Web Services is a gold sponsor at DockerCon and OSCON and so you can find me at the booth as well.</p>
<p>You’ll also see me at some AWS Summits and re:Invent.</p>
<p>And of course, you can follow me on twitter @arungupta to find out what’s keeping me busy!</p>
<p>In the meanwhile, here are some links for you to learn more about AWS:</p>
<ul>
<li>AWS on Twitch</li>
<li>This is My Architecture that shows innovative architectural solutions on the AWS Cloud</li>
<li>AWS Blog</li>
<li>Follow @awscloud</li>
</ul>
<p>Looking forward to AWSome and exciting weeks/months/years ahead!</p>
<p> </p>
</div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="bye-bye-couchbase-hello-amazon-web-services/#comments">View all 6 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
</article><!-- #post -->
<article class="post-14658 post type-post status-publish format-standard hentry category-containers category-couchbase category-javaee category-wildfly tag-couchbase tag-javaee tag-kubernetes tag-wildfly" id="post-14658">
<header class="entry-header">
<h1 class="entry-title">
<a href="service-discovery-java-database-application-kubernetes/" rel="bookmark">Service Discovery with Java and Database application in Kubernetes</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="service-discovery-java-database-application-kubernetes/" rel="bookmark" title="Permalink to Service Discovery with Java and Database application in Kubernetes"><time class="entry-date" datetime="2017-03-11T23:34:01+00:00">March 11, 2017</time></a></span><span class="categories-links"><a href="topics/containers/" rel="category tag">containers</a>, <a href="topics/couchbase/" rel="category tag">couchbase</a>, <a href="topics/java/javaee/" rel="category tag">javaee</a>, <a href="topics/redhat/wildfly/" rel="category tag">wildfly</a></span><span class="tags-links"><a href="tag/couchbase/" rel="tag">couchbase</a>, <a href="tag/javaee/" rel="tag">javaee</a>, <a href="/" rel="tag">kubernetes</a>, <a href="tag/wildfly/" rel="tag">wildfly</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p>This blog will show how a simple Java application can talk to a database using service discovery in Kubernetes.</p>
<p><img alt="" class="alignnone wp-image-2543" height="100" src="wp-content/uploads/2017/02/cropped-Couchbase-Blog-lockup.png" width="100"/> <img alt="Kubernetes Logo" class="alignnone wp-image-2942" height="104" src="wp-content/uploads/2017/03/kubernetes-logo.png" width="117"/> <img alt="WildFly Logo" class="alignnone wp-image-2943" height="100" src="wp-content/uploads/2017/03/wildfly-logo.png" width="129"/></p>
<p>Service Discovery with Java and Database application in DC/OS explains why service discovery is an important aspect for a multi-container application. That blog also explained how this can be done for DC/OS.</p>
<p>Let’s see how this can be accomplished in Kubernetes with a single instance of application server and database server. This blog will use WildFly for application server and Couchbase for database.</p>
<p>This blog will use the following main steps:</p>
<ul>
<li>Start Kubernetes one-node cluster</li>
<li>Kubernetes application definition</li>
<li>Deploy the application</li>
<li>Access the application</li>
</ul>
<h2>Start Kubernetes Cluster</h2>
<p>Minikube is the easiest way to start a one-node Kubernetes cluster in a VM on your laptop. The binary needs to be downloaded first and then installed.</p>
<p>Complete installation instructions are available at github.com/kubernetes/minikube.</p>
<p>The latest release can be installed on OSX as as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac179273149166" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.17.1/minikube-darwin-amd64 \
&amp;&amp; chmod +x minikube
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac179273149166-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac179273149166-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac179273149166-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac179273149166-4">4</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac179273149166-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac179273149166-2"><span class="crayon-v">curl</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-e">Lo </span><span class="crayon-e">minikube </span><span class="crayon-v">https</span><span class="crayon-o">:</span><span class="crayon-c">//storage.googleapis.com/minikube/releases/v0.17.1/minikube-darwin-amd64 \</span></div><div class="crayon-line" id="crayon-5cfd1e54ac179273149166-3"><span class="crayon-o">&amp;&amp;</span><span class="crayon-h"> </span><span class="crayon-v">chmod</span><span class="crayon-h"> </span><span class="crayon-o">+</span><span class="crayon-i">x</span><span class="crayon-h"> </span><span class="crayon-i">minikube</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac179273149166-4"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0008 seconds] -->
<p>
It also requires kubectl to be installed. Installing and Setting up kubectl provide detailed instructions on how to setup kubectl. On OSX, it can be installed as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac190195124791" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl \
  &amp;&amp; chmod +x ./kubectl
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac190195124791-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac190195124791-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac190195124791-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac190195124791-4">4</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac190195124791-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac190195124791-2"><span class="crayon-v">curl</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-e">LO </span><span class="crayon-v">https</span><span class="crayon-o">:</span><span class="crayon-c">//storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl \</span></div><div class="crayon-line" id="crayon-5cfd1e54ac190195124791-3"><span class="crayon-h">  </span><span class="crayon-o">&amp;&amp;</span><span class="crayon-h"> </span><span class="crayon-v">chmod</span><span class="crayon-h"> </span><span class="crayon-o">+</span><span class="crayon-i">x</span><span class="crayon-h"> </span><span class="crayon-sy">.</span><span class="crayon-o">/</span><span class="crayon-i">kubectl</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac190195124791-4"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0009 seconds] -->
<p>
Now, start the cluster as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac19e195208482" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
minikube start
Starting local Kubernetes cluster...
Starting VM...
Downloading Minikube ISO
 88.71 MB / 88.71 MB [==============================================] 100.00% 0s
SSH-ing files into VM...
Setting up certs...
Starting cluster components...
Connecting to cluster...
Setting up kubeconfig...
Kubectl is now configured to use the cluster.
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac19e195208482-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac19e195208482-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac19e195208482-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac19e195208482-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54ac19e195208482-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac19e195208482-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54ac19e195208482-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac19e195208482-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54ac19e195208482-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac19e195208482-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54ac19e195208482-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac19e195208482-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54ac19e195208482-13">13</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac19e195208482-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac19e195208482-2"><span class="crayon-e">minikube </span><span class="crayon-e">start</span></div><div class="crayon-line" id="crayon-5cfd1e54ac19e195208482-3"><span class="crayon-e">Starting </span><span class="crayon-e">local </span><span class="crayon-e">Kubernetes </span><span class="crayon-v">cluster</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac19e195208482-4"><span class="crayon-e">Starting </span><span class="crayon-v">VM</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54ac19e195208482-5"><span class="crayon-e">Downloading </span><span class="crayon-e">Minikube </span><span class="crayon-i">ISO</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac19e195208482-6"><span class="crayon-h"> </span><span class="crayon-cn">88.71</span><span class="crayon-h"> </span><span class="crayon-v">MB</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-h"> </span><span class="crayon-cn">88.71</span><span class="crayon-h"> </span><span class="crayon-i">MB</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">=</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-cn">100.00</span><span class="crayon-o">%</span><span class="crayon-h"> </span><span class="crayon-cn">0s</span></div><div class="crayon-line" id="crayon-5cfd1e54ac19e195208482-7"><span class="crayon-v">SSH</span><span class="crayon-o">-</span><span class="crayon-e">ing </span><span class="crayon-e">files </span><span class="crayon-e">into </span><span class="crayon-v">VM</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac19e195208482-8"><span class="crayon-e">Setting </span><span class="crayon-e">up </span><span class="crayon-v">certs</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54ac19e195208482-9"><span class="crayon-e">Starting </span><span class="crayon-e">cluster </span><span class="crayon-v">components</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac19e195208482-10"><span class="crayon-e">Connecting </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-v">cluster</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54ac19e195208482-11"><span class="crayon-e">Setting </span><span class="crayon-e">up </span><span class="crayon-v">kubeconfig</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac19e195208482-12"><span class="crayon-e">Kubectl </span><span class="crayon-st">is</span><span class="crayon-h"> </span><span class="crayon-e">now </span><span class="crayon-e">configured </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-st">use</span><span class="crayon-h"> </span><span class="crayon-e">the </span><span class="crayon-v">cluster</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54ac19e195208482-13"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0032 seconds] -->
<p>
The <code>kubectl version</code> command shows more details about the kubectl client and minikube server version:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac1ad016734846" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
kubectl version
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.4", GitCommit:"7243c69eb523aa4377bce883e7c0dd76b84709a1", GitTreeState:"clean", BuildDate:"2017-03-07T23:53:09Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.3", GitCommit:"029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState:"clean", BuildDate:"1970-01-01T00:00:00Z", GoVersion:"go1.7.3", Compiler:"gc", Platform:"linux/amd64"}
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac1ad016734846-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ad016734846-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ad016734846-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ad016734846-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ad016734846-5">5</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac1ad016734846-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ad016734846-2"><span class="crayon-e">kubectl </span><span class="crayon-e">version</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ad016734846-3"><span class="crayon-e">Client </span><span class="crayon-v">Version</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">version</span><span class="crayon-sy">.</span><span class="crayon-v">Info</span><span class="crayon-sy">{</span><span class="crayon-v">Major</span><span class="crayon-o">:</span><span class="crayon-s">"1"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">Minor</span><span class="crayon-o">:</span><span class="crayon-s">"5"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">GitVersion</span><span class="crayon-o">:</span><span class="crayon-s">"v1.5.4"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">GitCommit</span><span class="crayon-o">:</span><span class="crayon-s">"7243c69eb523aa4377bce883e7c0dd76b84709a1"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">GitTreeState</span><span class="crayon-o">:</span><span class="crayon-s">"clean"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">BuildDate</span><span class="crayon-o">:</span><span class="crayon-s">"2017-03-07T23:53:09Z"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">GoVersion</span><span class="crayon-o">:</span><span class="crayon-s">"go1.7.4"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">Compiler</span><span class="crayon-o">:</span><span class="crayon-s">"gc"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">Platform</span><span class="crayon-o">:</span><span class="crayon-s">"darwin/amd64"</span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ad016734846-4"><span class="crayon-e">Server </span><span class="crayon-v">Version</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">version</span><span class="crayon-sy">.</span><span class="crayon-v">Info</span><span class="crayon-sy">{</span><span class="crayon-v">Major</span><span class="crayon-o">:</span><span class="crayon-s">"1"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">Minor</span><span class="crayon-o">:</span><span class="crayon-s">"5"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">GitVersion</span><span class="crayon-o">:</span><span class="crayon-s">"v1.5.3"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">GitCommit</span><span class="crayon-o">:</span><span class="crayon-s">"029c3a408176b55c30846f0faedf56aae5992e9b"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">GitTreeState</span><span class="crayon-o">:</span><span class="crayon-s">"clean"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">BuildDate</span><span class="crayon-o">:</span><span class="crayon-s">"1970-01-01T00:00:00Z"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">GoVersion</span><span class="crayon-o">:</span><span class="crayon-s">"go1.7.3"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">Compiler</span><span class="crayon-o">:</span><span class="crayon-s">"gc"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">Platform</span><span class="crayon-o">:</span><span class="crayon-s">"linux/amd64"</span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ad016734846-5"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0035 seconds] -->
<p>
More details about the cluster can be obtained using the <code>kubectl cluster-info</code> command:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac1bb430024056" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
Kubernetes master is running at https://192.168.99.100:8443
KubeDNS is running at https://192.168.99.100:8443/api/v1/proxy/namespaces/kube-system/services/kube-dns
kubernetes-dashboard is running at https://192.168.99.100:8443/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac1bb430024056-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1bb430024056-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1bb430024056-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1bb430024056-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1bb430024056-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1bb430024056-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1bb430024056-7">7</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac1bb430024056-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1bb430024056-2"><span class="crayon-e">Kubernetes </span><span class="crayon-e">master </span><span class="crayon-st">is</span><span class="crayon-h"> </span><span class="crayon-e">running </span><span class="crayon-e">at </span><span class="crayon-v">https</span><span class="crayon-o">:</span><span class="crayon-c">//192.168.99.100:8443</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1bb430024056-3"><span class="crayon-e">KubeDNS </span><span class="crayon-st">is</span><span class="crayon-h"> </span><span class="crayon-e">running </span><span class="crayon-e">at </span><span class="crayon-v">https</span><span class="crayon-o">:</span><span class="crayon-c">//192.168.99.100:8443/api/v1/proxy/namespaces/kube-system/services/kube-dns</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1bb430024056-4"><span class="crayon-v">kubernetes</span><span class="crayon-o">-</span><span class="crayon-e">dashboard </span><span class="crayon-st">is</span><span class="crayon-h"> </span><span class="crayon-e">running </span><span class="crayon-e">at </span><span class="crayon-v">https</span><span class="crayon-o">:</span><span class="crayon-c">//192.168.99.100:8443/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1bb430024056-5"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1bb430024056-6"><span class="crayon-st">To</span><span class="crayon-h"> </span><span class="crayon-e">further </span><span class="crayon-e">debug </span><span class="crayon-st">and</span><span class="crayon-h"> </span><span class="crayon-e">diagnose </span><span class="crayon-e">cluster </span><span class="crayon-v">problems</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-st">use</span><span class="crayon-h"> </span><span class="crayon-s">'kubectl cluster-info dump'</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1bb430024056-7"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0017 seconds] -->
<p>
<h2>Kubernetes Application Definition</h2>
<p>Application definition is defined at github.com/arun-gupta/kubernetes-java-sample/blob/master/service-discovery.yml. It consists of:</p>
<ul>
<li>A Couchbase service</li>
<li>Couchbase replica set with a single pod</li>
<li>A WildFly replica set with a single pod</li>
</ul>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac1ca539792091" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
apiVersion: v1
kind: Service
metadata: 
  name: couchbase-service
spec: 
  selector: 
    app: couchbase-rs-pod
  ports:
    - name: admin
      port: 8091
    - name: views
      port: 8092
    - name: query
      port: 8093
    - name: memcached
      port: 11210
---
apiVersion: extensions/v1beta1
kind: ReplicaSet
metadata:
  name: couchbase-rs
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: couchbase-rs-pod
    spec:
      containers:
      - name: couchbase
        image: arungupta/couchbase:travel
        ports:
        - containerPort: 8091
        - containerPort: 8092
        - containerPort: 8093
        - containerPort: 11210
---
apiVersion: extensions/v1beta1
kind: ReplicaSet
metadata:
  name: wildfly-rs
  labels:
    name: wildfly
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: wildfly
    spec:
      containers:
      - name: wildfly-rs-pod
        image: arungupta/wildfly-couchbase-javaee:travel
        env:
        - name: COUCHBASE_URI
          value: couchbase-service
        ports:
        - containerPort: 8080
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-26">26</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-28">28</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-29">29</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-30">30</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-31">31</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-32">32</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-33">33</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-34">34</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-35">35</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-36">36</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-37">37</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-38">38</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-39">39</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-40">40</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-41">41</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-42">42</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-43">43</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-44">44</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-45">45</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-46">46</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-47">47</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-48">48</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-49">49</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-50">50</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-51">51</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-52">52</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-53">53</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-54">54</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-55">55</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-56">56</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-57">57</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-58">58</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1ca539792091-59">59</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1ca539792091-60">60</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-2"><span class="crayon-v">apiVersion</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">v1</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-3"><span class="crayon-v">kind</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">Service</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-4"><span class="crayon-v">metadata</span><span class="crayon-o">:</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-5"><span class="crayon-h">  </span><span class="crayon-v">name</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-e">service</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-6"><span class="crayon-v">spec</span><span class="crayon-o">:</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-7"><span class="crayon-h">  </span><span class="crayon-v">selector</span><span class="crayon-o">:</span><span class="crayon-h"> </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-8"><span class="crayon-h">    </span><span class="crayon-v">app</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-v">rs</span><span class="crayon-o">-</span><span class="crayon-e">pod</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-9"><span class="crayon-e">  </span><span class="crayon-v">ports</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-10"><span class="crayon-h">    </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">name</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">admin</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-11"><span class="crayon-e">      </span><span class="crayon-v">port</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">8091</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-12"><span class="crayon-h">    </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">name</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">views</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-13"><span class="crayon-e">      </span><span class="crayon-v">port</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">8092</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-14"><span class="crayon-h">    </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">name</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">query</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-15"><span class="crayon-e">      </span><span class="crayon-v">port</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">8093</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-16"><span class="crayon-h">    </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">name</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">memcached</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-17"><span class="crayon-e">      </span><span class="crayon-v">port</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">11210</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-18"><span class="crayon-o">--</span><span class="crayon-o">-</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-19"><span class="crayon-v">apiVersion</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">extensions</span><span class="crayon-o">/</span><span class="crayon-e">v1beta1</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-20"><span class="crayon-v">kind</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">ReplicaSet</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-21"><span class="crayon-v">metadata</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-22"><span class="crayon-h">  </span><span class="crayon-v">name</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-e">rs</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-23"><span class="crayon-v">spec</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-24"><span class="crayon-h">  </span><span class="crayon-v">replicas</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-25"><span class="crayon-h">  </span><span class="crayon-v">template</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-26"><span class="crayon-h">    </span><span class="crayon-v">metadata</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-27"><span class="crayon-h">      </span><span class="crayon-v">labels</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-28"><span class="crayon-h">        </span><span class="crayon-v">app</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-v">rs</span><span class="crayon-o">-</span><span class="crayon-e">pod</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-29"><span class="crayon-e">    </span><span class="crayon-v">spec</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-30"><span class="crayon-h">      </span><span class="crayon-v">containers</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-31"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">name</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">couchbase</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-32"><span class="crayon-e">        </span><span class="crayon-v">image</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">:</span><span class="crayon-e">travel</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-33"><span class="crayon-e">        </span><span class="crayon-v">ports</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-34"><span class="crayon-h">        </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">containerPort</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">8091</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-35"><span class="crayon-h">        </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">containerPort</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">8092</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-36"><span class="crayon-h">        </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">containerPort</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">8093</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-37"><span class="crayon-h">        </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">containerPort</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">11210</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-38"><span class="crayon-o">--</span><span class="crayon-o">-</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-39"><span class="crayon-v">apiVersion</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">extensions</span><span class="crayon-o">/</span><span class="crayon-e">v1beta1</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-40"><span class="crayon-v">kind</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">ReplicaSet</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-41"><span class="crayon-v">metadata</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-42"><span class="crayon-h">  </span><span class="crayon-v">name</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">wildfly</span><span class="crayon-o">-</span><span class="crayon-e">rs</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-43"><span class="crayon-e">  </span><span class="crayon-v">labels</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-44"><span class="crayon-h">    </span><span class="crayon-v">name</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">wildfly</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-45"><span class="crayon-v">spec</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-46"><span class="crayon-h">  </span><span class="crayon-v">replicas</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-47"><span class="crayon-h">  </span><span class="crayon-v">template</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-48"><span class="crayon-h">    </span><span class="crayon-v">metadata</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-49"><span class="crayon-h">      </span><span class="crayon-v">labels</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-50"><span class="crayon-h">        </span><span class="crayon-v">name</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">wildfly</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-51"><span class="crayon-e">    </span><span class="crayon-v">spec</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-52"><span class="crayon-h">      </span><span class="crayon-v">containers</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-53"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">name</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">wildfly</span><span class="crayon-o">-</span><span class="crayon-v">rs</span><span class="crayon-o">-</span><span class="crayon-e">pod</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-54"><span class="crayon-e">        </span><span class="crayon-v">image</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">wildfly</span><span class="crayon-o">-</span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-v">javaee</span><span class="crayon-o">:</span><span class="crayon-e">travel</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-55"><span class="crayon-e">        </span><span class="crayon-v">env</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-56"><span class="crayon-h">        </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">name</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">COUCHBASE_URI</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-57"><span class="crayon-e">          </span><span class="crayon-v">value</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-e">service</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-58"><span class="crayon-e">        </span><span class="crayon-v">ports</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1ca539792091-59"><span class="crayon-h">        </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">containerPort</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">8080</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1ca539792091-60"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0092 seconds] -->
The key part is where the value of the <code>COUCHBASE_URI</code> environment variable is name of the Couchbase service. This allows the application deployed in WildFly to dynamically discovery the service and communicate with the database.</p>
<p>arungupta/couchbase:travel Docker image is created using github.com/arun-gupta/couchbase-javaee/blob/master/couchbase/Dockerfile.</p>
<p>arungupta/wildfly-couchbase-javaee:travel Docker image is created using github.com/arun-gupta/couchbase-javaee/blob/master/Dockerfile.</p>
<p>Java EE application waits for database initialization to be complete before it starts querying the database. This can be seen at github.com/arun-gupta/couchbase-javaee/blob/master/src/main/java/org/couchbase/sample/javaee/Database.java#L25.</p>
<h2>Deploy Application</h2>
<p>This application can be deployed as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac1db939216953" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
kubectl create -f ~/workspaces/kubernetes-java-sample/service-discovery.yml
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac1db939216953-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1db939216953-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1db939216953-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac1db939216953-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1db939216953-2"><span class="crayon-e">kubectl </span><span class="crayon-v">create</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">f</span><span class="crayon-h"> </span><span class="crayon-o">~</span><span class="crayon-o">/</span><span class="crayon-v">workspaces</span><span class="crayon-o">/</span><span class="crayon-v">kubernetes</span><span class="crayon-o">-</span><span class="crayon-v">java</span><span class="crayon-o">-</span><span class="crayon-v">sample</span><span class="crayon-o">/</span><span class="crayon-v">service</span><span class="crayon-o">-</span><span class="crayon-v">discovery</span><span class="crayon-sy">.</span><span class="crayon-i">yml</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1db939216953-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0009 seconds] -->
<p>
The list of service and replica set can be shown using the command <code>kubectl get svc,rs</code>:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac1e9899091557" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
NAME                    CLUSTER-IP   EXTERNAL-IP   PORT(S)                                AGE
svc/couchbase-service   10.0.0.97    &lt;none&gt;        8091/TCP,8092/TCP,8093/TCP,11210/TCP   27m
svc/kubernetes          10.0.0.1     &lt;none&gt;        443/TCP                                1h
svc/wildfly-rs          10.0.0.252   &lt;none&gt;        8080/TCP                               21m
NAME              DESIRED   CURRENT   READY     AGE
rs/couchbase-rs   1         1         1         27m
rs/wildfly-rs     1         1         1         27m
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac1e9899091557-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1e9899091557-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1e9899091557-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1e9899091557-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1e9899091557-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1e9899091557-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1e9899091557-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1e9899091557-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1e9899091557-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1e9899091557-10">10</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac1e9899091557-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1e9899091557-2"><span class="crayon-e">NAME                    </span><span class="crayon-v">CLUSTER</span><span class="crayon-o">-</span><span class="crayon-e">IP   </span><span class="crayon-v">EXTERNAL</span><span class="crayon-o">-</span><span class="crayon-e">IP   </span><span class="crayon-e">PORT</span><span class="crayon-sy">(</span><span class="crayon-v">S</span><span class="crayon-sy">)</span><span class="crayon-h">                                </span><span class="crayon-e">AGE</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1e9899091557-3"><span class="crayon-v">svc</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-i">service</span><span class="crayon-h">   </span><span class="crayon-cn">10.0.0.97</span><span class="crayon-h">    </span><span class="crayon-o">&lt;</span><span class="crayon-v">none</span><span class="crayon-o">&gt;</span><span class="crayon-h">        </span><span class="crayon-cn">8091</span><span class="crayon-o">/</span><span class="crayon-v">TCP</span><span class="crayon-sy">,</span><span class="crayon-cn">8092</span><span class="crayon-o">/</span><span class="crayon-v">TCP</span><span class="crayon-sy">,</span><span class="crayon-cn">8093</span><span class="crayon-o">/</span><span class="crayon-v">TCP</span><span class="crayon-sy">,</span><span class="crayon-cn">11210</span><span class="crayon-o">/</span><span class="crayon-i">TCP</span><span class="crayon-h">   </span><span class="crayon-cn">27m</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1e9899091557-4"><span class="crayon-v">svc</span><span class="crayon-o">/</span><span class="crayon-i">kubernetes</span><span class="crayon-h">          </span><span class="crayon-cn">10.0.0.1</span><span class="crayon-h">     </span><span class="crayon-o">&lt;</span><span class="crayon-v">none</span><span class="crayon-o">&gt;</span><span class="crayon-h">        </span><span class="crayon-cn">443</span><span class="crayon-o">/</span><span class="crayon-i">TCP</span><span class="crayon-h">                                </span><span class="crayon-cn">1h</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1e9899091557-5"><span class="crayon-v">svc</span><span class="crayon-o">/</span><span class="crayon-v">wildfly</span><span class="crayon-o">-</span><span class="crayon-i">rs</span><span class="crayon-h">          </span><span class="crayon-cn">10.0.0.252</span><span class="crayon-h">   </span><span class="crayon-o">&lt;</span><span class="crayon-v">none</span><span class="crayon-o">&gt;</span><span class="crayon-h">        </span><span class="crayon-cn">8080</span><span class="crayon-o">/</span><span class="crayon-i">TCP</span><span class="crayon-h">                               </span><span class="crayon-cn">21m</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1e9899091557-6"> </div><div class="crayon-line" id="crayon-5cfd1e54ac1e9899091557-7"><span class="crayon-e">NAME              </span><span class="crayon-e">DESIRED   </span><span class="crayon-e">CURRENT   </span><span class="crayon-e">READY     </span><span class="crayon-e">AGE</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1e9899091557-8"><span class="crayon-v">rs</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-i">rs</span><span class="crayon-h">   </span><span class="crayon-cn">1</span><span class="crayon-h">         </span><span class="crayon-cn">1</span><span class="crayon-h">         </span><span class="crayon-cn">1</span><span class="crayon-h">         </span><span class="crayon-cn">27m</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1e9899091557-9"><span class="crayon-v">rs</span><span class="crayon-o">/</span><span class="crayon-v">wildfly</span><span class="crayon-o">-</span><span class="crayon-i">rs</span><span class="crayon-h">     </span><span class="crayon-cn">1</span><span class="crayon-h">         </span><span class="crayon-cn">1</span><span class="crayon-h">         </span><span class="crayon-cn">1</span><span class="crayon-h">         </span><span class="crayon-cn">27m</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1e9899091557-10"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0039 seconds] -->
<p>
Logs for the single replica of Couchbase can be obtained using the command <code>kubectl logs rs/couchbase-rs</code>:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac1f7490345172" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
++ set -m
++ sleep 25
++ /entrypoint.sh couchbase-server
Starting Couchbase Server -- Web UI available at http://&lt;ip&gt;:8091 and logs available in /opt/couchbase/var/lib/couchbase/logs
++ curl -v -X POST http://127.0.0.1:8091/pools/default -d memoryQuota=300 -d indexMemoryQuota=300
. . .
{"storageMode":"memory_optimized","indexerThreads":0,"memorySnapshotInterval":200,"stableSnapshotInterval":5000,"maxRollbackPoints":5,"logLevel":"info"}[]Type: 
++ echo 'Type: '
++ '[' '' = WORKER ']'
++ fg 1
/entrypoint.sh couchbase-server
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac1f7490345172-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1f7490345172-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1f7490345172-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1f7490345172-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1f7490345172-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1f7490345172-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1f7490345172-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1f7490345172-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1f7490345172-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1f7490345172-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1f7490345172-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1f7490345172-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1f7490345172-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac1f7490345172-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54ac1f7490345172-15">15</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac1f7490345172-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1f7490345172-2"><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-v">set</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">m</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1f7490345172-3"><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-i">sleep</span><span class="crayon-h"> </span><span class="crayon-cn">25</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1f7490345172-4"><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">entrypoint</span><span class="crayon-sy">.</span><span class="crayon-e">sh </span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-e">server</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1f7490345172-5"><span class="crayon-e">Starting </span><span class="crayon-e">Couchbase </span><span class="crayon-v">Server</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-h"> </span><span class="crayon-e">Web </span><span class="crayon-e">UI </span><span class="crayon-e">available </span><span class="crayon-e">at </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//&lt;ip&gt;:8091 and logs available in /opt/couchbase/var/lib/couchbase/logs</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1f7490345172-6"><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-v">curl</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">v</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">X</span><span class="crayon-h"> </span><span class="crayon-e">POST </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//127.0.0.1:8091/pools/default -d memoryQuota=300 -d indexMemoryQuota=300</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1f7490345172-7"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1f7490345172-8"><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1f7490345172-9"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1f7490345172-10"><span class="crayon-sy">{</span><span class="crayon-s">"storageMode"</span><span class="crayon-o">:</span><span class="crayon-s">"memory_optimized"</span><span class="crayon-sy">,</span><span class="crayon-s">"indexerThreads"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span><span class="crayon-s">"memorySnapshotInterval"</span><span class="crayon-o">:</span><span class="crayon-cn">200</span><span class="crayon-sy">,</span><span class="crayon-s">"stableSnapshotInterval"</span><span class="crayon-o">:</span><span class="crayon-cn">5000</span><span class="crayon-sy">,</span><span class="crayon-s">"maxRollbackPoints"</span><span class="crayon-o">:</span><span class="crayon-cn">5</span><span class="crayon-sy">,</span><span class="crayon-s">"logLevel"</span><span class="crayon-o">:</span><span class="crayon-s">"info"</span><span class="crayon-sy">}</span><span class="crayon-sy">[</span><span class="crayon-sy">]</span><span class="crayon-v">Type</span><span class="crayon-o">:</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54ac1f7490345172-11"><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-i">echo</span><span class="crayon-h"> </span><span class="crayon-s">'Type: '</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1f7490345172-12"><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-s">'['</span><span class="crayon-h"> </span><span class="crayon-s">''</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-i">WORKER</span><span class="crayon-h"> </span><span class="crayon-s">']'</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1f7490345172-13"><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-i">fg</span><span class="crayon-h"> </span><span class="crayon-cn">1</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac1f7490345172-14"><span class="crayon-o">/</span><span class="crayon-v">entrypoint</span><span class="crayon-sy">.</span><span class="crayon-e">sh </span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-i">server</span></div><div class="crayon-line" id="crayon-5cfd1e54ac1f7490345172-15"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0037 seconds] -->
<p>
Logs for the WildFly replica set can be seen using the command <code>kubectl logs rs/wildfly-rs</code>:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac206391045703" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
=========================================================================
  JBoss Bootstrap Environment
  JBOSS_HOME: /opt/jboss/wildfly
. . .
06:32:08,537 INFO  [com.couchbase.client.core.node.Node] (cb-io-1-1) Connected to Node couchbase-service
06:32:09,262 INFO  [com.couchbase.client.core.config.ConfigurationProvider] (cb-computations-3) Opened bucket travel-sample
06:32:09,366 INFO  [stdout] (ServerService Thread Pool -- 65) Sleeping for 3 secs ...
06:32:12,369 INFO  [stdout] (ServerService Thread Pool -- 65) Bucket found!
06:32:14,194 INFO  [org.jboss.resteasy.resteasy_jaxrs.i18n] (ServerService Thread Pool -- 65) RESTEASY002225: Deploying javax.ws.rs.core.Application: class org.couchbase.sample.javaee.MyApplication
06:32:14,195 INFO  [org.jboss.resteasy.resteasy_jaxrs.i18n] (ServerService Thread Pool -- 65) RESTEASY002200: Adding class resource org.couchbase.sample.javaee.AirlineResource from Application class org.couchbase.sample.javaee.MyApplication
06:32:14,310 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 65) WFLYUT0021: Registered web context: /airlines
06:32:14,376 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 34) WFLYSRV0010: Deployed "airlines.war" (runtime-name : "airlines.war")
06:32:14,704 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
06:32:14,704 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
06:32:14,705 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 10.1.0.Final (WildFly Core 2.2.0.Final) started in 29470ms - Started 443 of 691 services (404 services are lazy, passive or on-demand)
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac206391045703-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac206391045703-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac206391045703-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac206391045703-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54ac206391045703-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac206391045703-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54ac206391045703-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac206391045703-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54ac206391045703-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac206391045703-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54ac206391045703-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac206391045703-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54ac206391045703-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac206391045703-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54ac206391045703-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac206391045703-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54ac206391045703-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac206391045703-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54ac206391045703-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac206391045703-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54ac206391045703-21">21</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac206391045703-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac206391045703-2"><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">=</span></div><div class="crayon-line" id="crayon-5cfd1e54ac206391045703-3"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac206391045703-4"><span class="crayon-h">  </span><span class="crayon-e">JBoss </span><span class="crayon-e">Bootstrap </span><span class="crayon-e">Environment</span></div><div class="crayon-line" id="crayon-5cfd1e54ac206391045703-5"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac206391045703-6"><span class="crayon-e">  </span><span class="crayon-v">JBOSS_HOME</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">opt</span><span class="crayon-o">/</span><span class="crayon-v">jboss</span><span class="crayon-o">/</span><span class="crayon-i">wildfly</span></div><div class="crayon-line" id="crayon-5cfd1e54ac206391045703-7"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac206391045703-8"><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54ac206391045703-9"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac206391045703-10"><span class="crayon-cn">06</span><span class="crayon-o">:</span><span class="crayon-cn">32</span><span class="crayon-o">:</span><span class="crayon-cn">08</span><span class="crayon-sy">,</span><span class="crayon-cn">537</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">com</span><span class="crayon-sy">.</span><span class="crayon-v">couchbase</span><span class="crayon-sy">.</span><span class="crayon-v">client</span><span class="crayon-sy">.</span><span class="crayon-v">core</span><span class="crayon-sy">.</span><span class="crayon-v">node</span><span class="crayon-sy">.</span><span class="crayon-v">Node</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-v">cb</span><span class="crayon-o">-</span><span class="crayon-v">io</span><span class="crayon-o">-</span><span class="crayon-cn">1</span><span class="crayon-o">-</span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-e">Connected </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">Node </span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-i">service</span></div><div class="crayon-line" id="crayon-5cfd1e54ac206391045703-11"><span class="crayon-cn">06</span><span class="crayon-o">:</span><span class="crayon-cn">32</span><span class="crayon-o">:</span><span class="crayon-cn">09</span><span class="crayon-sy">,</span><span class="crayon-cn">262</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">com</span><span class="crayon-sy">.</span><span class="crayon-v">couchbase</span><span class="crayon-sy">.</span><span class="crayon-v">client</span><span class="crayon-sy">.</span><span class="crayon-v">core</span><span class="crayon-sy">.</span><span class="crayon-v">config</span><span class="crayon-sy">.</span><span class="crayon-v">ConfigurationProvider</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-v">cb</span><span class="crayon-o">-</span><span class="crayon-v">computations</span><span class="crayon-o">-</span><span class="crayon-cn">3</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-e">Opened </span><span class="crayon-e">bucket </span><span class="crayon-v">travel</span><span class="crayon-o">-</span><span class="crayon-i">sample</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac206391045703-12"><span class="crayon-cn">06</span><span class="crayon-o">:</span><span class="crayon-cn">32</span><span class="crayon-o">:</span><span class="crayon-cn">09</span><span class="crayon-sy">,</span><span class="crayon-cn">366</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">stdout</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">ServerService </span><span class="crayon-e">Thread </span><span class="crayon-v">Pool</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-h"> </span><span class="crayon-cn">65</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-e">Sleeping </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-cn">3</span><span class="crayon-h"> </span><span class="crayon-i">secs</span><span class="crayon-h"> </span><span class="crayon-sy">.</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54ac206391045703-13"><span class="crayon-cn">06</span><span class="crayon-o">:</span><span class="crayon-cn">32</span><span class="crayon-o">:</span><span class="crayon-cn">12</span><span class="crayon-sy">,</span><span class="crayon-cn">369</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">stdout</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">ServerService </span><span class="crayon-e">Thread </span><span class="crayon-v">Pool</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-h"> </span><span class="crayon-cn">65</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-e">Bucket </span><span class="crayon-v">found</span><span class="crayon-o">!</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac206391045703-14"><span class="crayon-cn">06</span><span class="crayon-o">:</span><span class="crayon-cn">32</span><span class="crayon-o">:</span><span class="crayon-cn">14</span><span class="crayon-sy">,</span><span class="crayon-cn">194</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">jboss</span><span class="crayon-sy">.</span><span class="crayon-v">resteasy</span><span class="crayon-sy">.</span><span class="crayon-v">resteasy_jaxrs</span><span class="crayon-sy">.</span><span class="crayon-v">i18n</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">ServerService </span><span class="crayon-e">Thread </span><span class="crayon-v">Pool</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-h"> </span><span class="crayon-cn">65</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">RESTEASY002225</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">Deploying </span><span class="crayon-v">javax</span><span class="crayon-sy">.</span><span class="crayon-v">ws</span><span class="crayon-sy">.</span><span class="crayon-v">rs</span><span class="crayon-sy">.</span><span class="crayon-v">core</span><span class="crayon-sy">.</span><span class="crayon-v">Application</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">class</span><span class="crayon-h"> </span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">couchbase</span><span class="crayon-sy">.</span><span class="crayon-v">sample</span><span class="crayon-sy">.</span><span class="crayon-v">javaee</span><span class="crayon-sy">.</span><span class="crayon-i">MyApplication</span></div><div class="crayon-line" id="crayon-5cfd1e54ac206391045703-15"><span class="crayon-cn">06</span><span class="crayon-o">:</span><span class="crayon-cn">32</span><span class="crayon-o">:</span><span class="crayon-cn">14</span><span class="crayon-sy">,</span><span class="crayon-cn">195</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">jboss</span><span class="crayon-sy">.</span><span class="crayon-v">resteasy</span><span class="crayon-sy">.</span><span class="crayon-v">resteasy_jaxrs</span><span class="crayon-sy">.</span><span class="crayon-v">i18n</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">ServerService </span><span class="crayon-e">Thread </span><span class="crayon-v">Pool</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-h"> </span><span class="crayon-cn">65</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">RESTEASY002200</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">Adding </span><span class="crayon-t">class</span><span class="crayon-h"> </span><span class="crayon-e">resource </span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">couchbase</span><span class="crayon-sy">.</span><span class="crayon-v">sample</span><span class="crayon-sy">.</span><span class="crayon-v">javaee</span><span class="crayon-sy">.</span><span class="crayon-e">AirlineResource </span><span class="crayon-e">from </span><span class="crayon-e">Application </span><span class="crayon-t">class</span><span class="crayon-h"> </span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">couchbase</span><span class="crayon-sy">.</span><span class="crayon-v">sample</span><span class="crayon-sy">.</span><span class="crayon-v">javaee</span><span class="crayon-sy">.</span><span class="crayon-i">MyApplication</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac206391045703-16"><span class="crayon-cn">06</span><span class="crayon-o">:</span><span class="crayon-cn">32</span><span class="crayon-o">:</span><span class="crayon-cn">14</span><span class="crayon-sy">,</span><span class="crayon-cn">310</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">wildfly</span><span class="crayon-sy">.</span><span class="crayon-v">extension</span><span class="crayon-sy">.</span><span class="crayon-v">undertow</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">ServerService </span><span class="crayon-e">Thread </span><span class="crayon-v">Pool</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-h"> </span><span class="crayon-cn">65</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">WFLYUT0021</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">Registered </span><span class="crayon-e">web </span><span class="crayon-v">context</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-i">airlines</span></div><div class="crayon-line" id="crayon-5cfd1e54ac206391045703-17"><span class="crayon-cn">06</span><span class="crayon-o">:</span><span class="crayon-cn">32</span><span class="crayon-o">:</span><span class="crayon-cn">14</span><span class="crayon-sy">,</span><span class="crayon-cn">376</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">jboss</span><span class="crayon-sy">.</span><span class="crayon-st">as</span><span class="crayon-sy">.</span><span class="crayon-v">server</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">ServerService </span><span class="crayon-e">Thread </span><span class="crayon-v">Pool</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-h"> </span><span class="crayon-cn">34</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">WFLYSRV0010</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-i">Deployed</span><span class="crayon-h"> </span><span class="crayon-s">"airlines.war"</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-v">runtime</span><span class="crayon-o">-</span><span class="crayon-v">name</span><span class="crayon-h"> </span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"airlines.war"</span><span class="crayon-sy">)</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac206391045703-18"><span class="crayon-cn">06</span><span class="crayon-o">:</span><span class="crayon-cn">32</span><span class="crayon-o">:</span><span class="crayon-cn">14</span><span class="crayon-sy">,</span><span class="crayon-cn">704</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">jboss</span><span class="crayon-sy">.</span><span class="crayon-st">as</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">Controller </span><span class="crayon-e">Boot </span><span class="crayon-v">Thread</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">WFLYSRV0060</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">Http </span><span class="crayon-e">management </span><span class="crayon-t">interface</span><span class="crayon-h"> </span><span class="crayon-e">listening </span><span class="crayon-e">on </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//127.0.0.1:9990/management</span></div><div class="crayon-line" id="crayon-5cfd1e54ac206391045703-19"><span class="crayon-cn">06</span><span class="crayon-o">:</span><span class="crayon-cn">32</span><span class="crayon-o">:</span><span class="crayon-cn">14</span><span class="crayon-sy">,</span><span class="crayon-cn">704</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">jboss</span><span class="crayon-sy">.</span><span class="crayon-st">as</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">Controller </span><span class="crayon-e">Boot </span><span class="crayon-v">Thread</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">WFLYSRV0051</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">Admin </span><span class="crayon-e">console </span><span class="crayon-e">listening </span><span class="crayon-e">on </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//127.0.0.1:9990</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac206391045703-20"><span class="crayon-cn">06</span><span class="crayon-o">:</span><span class="crayon-cn">32</span><span class="crayon-o">:</span><span class="crayon-cn">14</span><span class="crayon-sy">,</span><span class="crayon-cn">705</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">jboss</span><span class="crayon-sy">.</span><span class="crayon-st">as</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">Controller </span><span class="crayon-e">Boot </span><span class="crayon-v">Thread</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">WFLYSRV0025</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">WildFly </span><span class="crayon-i">Full</span><span class="crayon-h"> </span><span class="crayon-cn">10.1.0.Final</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">WildFly </span><span class="crayon-i">Core</span><span class="crayon-h"> </span><span class="crayon-cn">2.2.0.Final</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-e">started </span><span class="crayon-st">in</span><span class="crayon-h"> </span><span class="crayon-cn">29470ms</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-i">Started</span><span class="crayon-h"> </span><span class="crayon-cn">443</span><span class="crayon-h"> </span><span class="crayon-i">of</span><span class="crayon-h"> </span><span class="crayon-cn">691</span><span class="crayon-h"> </span><span class="crayon-e">services</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-cn">404</span><span class="crayon-h"> </span><span class="crayon-e">services </span><span class="crayon-e">are </span><span class="crayon-v">lazy</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-e">passive </span><span class="crayon-st">or</span><span class="crayon-h"> </span><span class="crayon-v">on</span><span class="crayon-o">-</span><span class="crayon-v">demand</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="crayon-5cfd1e54ac206391045703-21"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0171 seconds] -->
<p>
<h2>Access Application</h2>
<p>The <code>kubectl proxy</code> command starts a proxy to the Kubernetes API server. Let’s start a Kubernetes proxy to access our application:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac217481621112" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
kubectl proxy
Starting to serve on 127.0.0.1:8001
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac217481621112-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac217481621112-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac217481621112-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac217481621112-4">4</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac217481621112-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac217481621112-2"><span class="crayon-e">kubectl </span><span class="crayon-e">proxy</span></div><div class="crayon-line" id="crayon-5cfd1e54ac217481621112-3"><span class="crayon-e">Starting </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">serve </span><span class="crayon-i">on</span><span class="crayon-h"> </span><span class="crayon-cn">127.0.0.1</span><span class="crayon-o">:</span><span class="crayon-cn">8001</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac217481621112-4"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0006 seconds] -->
<p>
Expose the WildFly replica set as a service using:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac225889064046" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
kubectl expose --name=wildfly-service rs/wildfly-rs
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac225889064046-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac225889064046-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac225889064046-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac225889064046-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac225889064046-2"><span class="crayon-e">kubectl </span><span class="crayon-v">expose</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">name</span><span class="crayon-o">=</span><span class="crayon-v">wildfly</span><span class="crayon-o">-</span><span class="crayon-e">service </span><span class="crayon-v">rs</span><span class="crayon-o">/</span><span class="crayon-v">wildfly</span><span class="crayon-o">-</span><span class="crayon-i">rs</span></div><div class="crayon-line" id="crayon-5cfd1e54ac225889064046-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0007 seconds] -->
<p>
The list of services can be seen again using <code>kubectl get svc</code> command:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac233415235405" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
kubectl get svc
NAME                CLUSTER-IP   EXTERNAL-IP   PORT(S)                                AGE
couchbase-service   10.0.0.97    &lt;none&gt;        8091/TCP,8092/TCP,8093/TCP,11210/TCP   41m
kubernetes          10.0.0.1     &lt;none&gt;        443/TCP                                1h
wildfly-service     10.0.0.169   &lt;none&gt;        8080/TCP                               5s
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac233415235405-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac233415235405-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac233415235405-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac233415235405-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54ac233415235405-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac233415235405-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54ac233415235405-7">7</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac233415235405-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac233415235405-2"><span class="crayon-e">kubectl </span><span class="crayon-e">get </span><span class="crayon-e">svc</span></div><div class="crayon-line" id="crayon-5cfd1e54ac233415235405-3"><span class="crayon-e">NAME                </span><span class="crayon-v">CLUSTER</span><span class="crayon-o">-</span><span class="crayon-e">IP   </span><span class="crayon-v">EXTERNAL</span><span class="crayon-o">-</span><span class="crayon-e">IP   </span><span class="crayon-e">PORT</span><span class="crayon-sy">(</span><span class="crayon-v">S</span><span class="crayon-sy">)</span><span class="crayon-h">                                </span><span class="crayon-e">AGE</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac233415235405-4"><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-i">service</span><span class="crayon-h">   </span><span class="crayon-cn">10.0.0.97</span><span class="crayon-h">    </span><span class="crayon-o">&lt;</span><span class="crayon-v">none</span><span class="crayon-o">&gt;</span><span class="crayon-h">        </span><span class="crayon-cn">8091</span><span class="crayon-o">/</span><span class="crayon-v">TCP</span><span class="crayon-sy">,</span><span class="crayon-cn">8092</span><span class="crayon-o">/</span><span class="crayon-v">TCP</span><span class="crayon-sy">,</span><span class="crayon-cn">8093</span><span class="crayon-o">/</span><span class="crayon-v">TCP</span><span class="crayon-sy">,</span><span class="crayon-cn">11210</span><span class="crayon-o">/</span><span class="crayon-i">TCP</span><span class="crayon-h">   </span><span class="crayon-cn">41m</span></div><div class="crayon-line" id="crayon-5cfd1e54ac233415235405-5"><span class="crayon-i">kubernetes</span><span class="crayon-h">          </span><span class="crayon-cn">10.0.0.1</span><span class="crayon-h">     </span><span class="crayon-o">&lt;</span><span class="crayon-v">none</span><span class="crayon-o">&gt;</span><span class="crayon-h">        </span><span class="crayon-cn">443</span><span class="crayon-o">/</span><span class="crayon-i">TCP</span><span class="crayon-h">                                </span><span class="crayon-cn">1h</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac233415235405-6"><span class="crayon-v">wildfly</span><span class="crayon-o">-</span><span class="crayon-i">service</span><span class="crayon-h">     </span><span class="crayon-cn">10.0.0.169</span><span class="crayon-h">   </span><span class="crayon-o">&lt;</span><span class="crayon-v">none</span><span class="crayon-o">&gt;</span><span class="crayon-h">        </span><span class="crayon-cn">8080</span><span class="crayon-o">/</span><span class="crayon-i">TCP</span><span class="crayon-h">                               </span><span class="crayon-cn">5s</span></div><div class="crayon-line" id="crayon-5cfd1e54ac233415235405-7"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0027 seconds] -->
<p>
Now, the application is accessible at:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac241479641158" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
curl http://localhost:8001/api/v1/proxy/namespaces/default/services/wildfly-service/airlines/resources/airline
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac241479641158-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac241479641158-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac241479641158-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac241479641158-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac241479641158-2"><span class="crayon-e">curl </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//localhost:8001/api/v1/proxy/namespaces/default/services/wildfly-service/airlines/resources/airline</span></div><div class="crayon-line" id="crayon-5cfd1e54ac241479641158-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0005 seconds] -->
<p>
A formatted output looks like:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54ac24f674086735" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
[
  {
    "travel-sample": {
      "country": "United States",
      "iata": "Q5",
      "callsign": "MILE-AIR",
      "name": "40-Mile Air",
      "icao": "MLA",
      "id": 10,
      "type": "airline"
    }
  },
  {
    "travel-sample": {
      "country": "United States",
      "iata": "TQ",
. . .
     "name": "Airlinair",
      "icao": "RLA",
      "id": 1203,
      "type": "airline"
    }
  }
]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54ac24f674086735-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac24f674086735-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54ac24f674086735-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac24f674086735-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54ac24f674086735-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac24f674086735-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54ac24f674086735-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac24f674086735-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54ac24f674086735-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac24f674086735-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54ac24f674086735-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac24f674086735-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54ac24f674086735-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac24f674086735-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54ac24f674086735-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac24f674086735-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54ac24f674086735-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac24f674086735-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54ac24f674086735-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac24f674086735-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54ac24f674086735-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac24f674086735-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54ac24f674086735-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac24f674086735-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54ac24f674086735-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac24f674086735-26">26</div><div class="crayon-num" data-line="crayon-5cfd1e54ac24f674086735-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54ac24f674086735-28">28</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54ac24f674086735-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac24f674086735-2"><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54ac24f674086735-3"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac24f674086735-4"><span class="crayon-h">    </span><span class="crayon-s">"travel-sample"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54ac24f674086735-5"><span class="crayon-h">      </span><span class="crayon-s">"country"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"United States"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac24f674086735-6"><span class="crayon-h">      </span><span class="crayon-s">"iata"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"Q5"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54ac24f674086735-7"><span class="crayon-h">      </span><span class="crayon-s">"callsign"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"MILE-AIR"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac24f674086735-8"><span class="crayon-h">      </span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"40-Mile Air"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54ac24f674086735-9"><span class="crayon-h">      </span><span class="crayon-s">"icao"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"MLA"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac24f674086735-10"><span class="crayon-h">      </span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">10</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54ac24f674086735-11"><span class="crayon-h">      </span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"airline"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac24f674086735-12"><span class="crayon-h">    </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54ac24f674086735-13"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac24f674086735-14"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54ac24f674086735-15"><span class="crayon-h">    </span><span class="crayon-s">"travel-sample"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac24f674086735-16"><span class="crayon-h">      </span><span class="crayon-s">"country"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"United States"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54ac24f674086735-17"><span class="crayon-h">      </span><span class="crayon-s">"iata"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"TQ"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac24f674086735-18"> </div><div class="crayon-line" id="crayon-5cfd1e54ac24f674086735-19"><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">.</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac24f674086735-20"> </div><div class="crayon-line" id="crayon-5cfd1e54ac24f674086735-21"><span class="crayon-h">     </span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"Airlinair"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac24f674086735-22"><span class="crayon-h">      </span><span class="crayon-s">"icao"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"RLA"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54ac24f674086735-23"><span class="crayon-h">      </span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1203</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac24f674086735-24"><span class="crayon-h">      </span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"airline"</span></div><div class="crayon-line" id="crayon-5cfd1e54ac24f674086735-25"><span class="crayon-h">    </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac24f674086735-26"><span class="crayon-h">  </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54ac24f674086735-27"><span class="crayon-sy">]</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54ac24f674086735-28"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0119 seconds] -->
<p>
Now, new pods may be added as part of Couchbase service by scaling the replica set. Existing pods may be terminated or get rescheduled. But the Java EE application will continue to access the database service using the logical name.</p>
<p>This blog showed how a simple Java application can talk to a database using service discovery in Kubernetes.</p>
<p>For further information check out:</p>
<ul>
<li>Kubernetes Docs</li>
<li>Couchbase on Containers</li>
<li>Couchbase Developer Portal</li>
<li>Ask questions on Couchbase Forums or Stack Overflow</li>
<li>Download Couchbase</li>
</ul>
</p></div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="service-discovery-java-database-application-kubernetes/#comments">View all 3 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
</article><!-- #post -->
<article class="post-14652 post type-post status-publish format-standard hentry category-containers category-couchbase" id="post-14652">
<header class="entry-header">
<h1 class="entry-title">
<a href="service-discovery-java-database-application-dcos/" rel="bookmark">Service Discovery with Java and Database application in DC/OS</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="service-discovery-java-database-application-dcos/" rel="bookmark" title="Permalink to Service Discovery with Java and Database application in DC/OS"><time class="entry-date" datetime="2017-03-09T13:17:35+00:00">March 9, 2017</time></a></span><span class="categories-links"><a href="topics/containers/" rel="category tag">containers</a>, <a href="topics/couchbase/" rel="category tag">couchbase</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p>This blog will show how a simple Java application can talk to a database using service discovery in DC/OS.</p>
<p><img alt="DC/OS logo" class="alignnone size-full wp-image-2913" height="299" src="wp-content/uploads/2017/03/dcos-1024x538-e1488894866397.png" width="711"/></p>
<h2>Why Service Discovery?</h2>
<p>An application typically consist of multiple components such as an application server, a database, a web server, caching and messaging server. Typically, multiple replicas of each component would run based upon the needs of your application. Deploying this application using a container orchestration framework means that each replica would run as a container. So, an application is typically deployed as multi-container application.</p>
<p>Each container is assigned a unique IP address for its lifetime. But containers are ephemeral and may terminate and rescheduled on a different host by the orchestration framework. A container is typically assigned a different IP address in that case. This means an application deployed in application server cannot rely upon the IP address of the database. This is where service discovery is required.</p>
<p>So, multiple replicas of a component are assigned a logical name. For example, <code>web</code> for all the application server containers and <code>db</code> for all the database containers. Now, an application can talk to the database containers using the logical service name. This allows the database containers to be rescheduled anywhere in the cluster, and also scale up and down dynamically.</p>
<p>Let’s see how this can be accomplished in DC/OS with a single instance of application server and database server. This blog will use WildFly for application server and Couchbase for database.</p>
<p>Couchbase Cluster on Mesos with DC/OS provide more details on how to setup a Couchbase cluster on DC/OS.</p>
<p>This blog will use the following main steps:</p>
<ul>
<li>Setup DC/OS Cluster</li>
<li>Marathon application definition</li>
<li>Deploy the application</li>
</ul>
<p>The complete source code used in this blog is at github.com/arun-gupta/dcos-java-database.</p>
<p>Many thanks to @unterstein for creating the Maven plugin and helping me understand the inner workings of DC/OS.</p>
<h2>Setup DC/OS Cluster</h2>
<p>DC/OS cluster can be easily created using the <a href="https://downloads.dcos.io/dcos/stable/aws.html?_ga=1.207445715.1510362819.1478208859">CloudFormation template</a>. Detailed instructions, including system requirements and screenshots and setup, are available at Installing DC/OS on AWS.</p>
<p>CloudFormation output looks as shown:</p>
<p><img alt="DC/OS Cluster CloudFormation Output" class="alignnone size-large wp-image-2904" height="413" src="wp-content/uploads/2017/03/dcos-cluster-cloudformation-output-1024x470.png" width="900"/></p>
<p>Note down the value shown for the keys <code>DnsAddress</code> and <code>PublicSlaveDnsAddress</code>. The value of the first key can be used to access DC/OS GUI and looks like:</p>
<p><img alt="DC/OS Cluster Console Default Output" class="alignnone size-large wp-image-2905" height="548" src="wp-content/uploads/2017/03/dcos-cluster-console-default-output-1024x624.png" width="900"/></p>
<p>Configure DC/OS CLI as explained in CLI. In short, the following commands are used:</p>
<ul>
<li><code>dcos config set core.dcos_url http://${DnsAddress}</code> Replace <code>${DnsAddress}</code> with the corresponding value from the CloudFormation output.</li>
<li><code>dcos auth login</code></li>
<li><code>dcos config show core.dcos_acs_token</code>. If not already done, clone the repo from github.com/arun-gupta/dcos-java-database. Create a new file<code>.dcos-token</code> and copy the output from the command in this file.</li>
<li><code>dcos package install marathon-lb</code></li>
</ul>
<h2>Marathon Application Definition</h2>
<p>Marathon framework is used to schedule containers in DC/OS. A marathon application can be defined by providing an application definition.</p>
<p>As mentioned earlier, this blog will show how a simple Java application can talk to a database. We’ll use a Java EE application deployed in WildFly and use Couchbase as the database. The application definition looks like:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54adc21026420149" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
{  
  "id":"/webapp",
  "apps":[  
    {  
      "id":"database",
      "cpus":4,
      "mem":4096,
      "instances":1,
      "container":{  
        "type":"DOCKER",
        "docker":{  
          "image":"arungupta/couchbase:travel",
          "network":"USER"
        }
      },
      "ipAddress":{  
        "networkName":"dcos"
      }
    },
    {  
      "id":"web",
      "dependencies":[  
        "/webapp/database"
      ],
      "cpus":2,
      "mem":4096,
      "instances":1,
      "container":{  
        "type":"DOCKER",
        "docker":{  
          "image":"arungupta/wildfly-couchbase-javaee:travel",
          "network":"USER",
          "portMappings":[  
            {  
              "hostPort":0,
              "containerPort":8080,
              "protocol":"tcp"
            }
          ]
        }
      },
      "ipAddress":{  
        "networkName":"dcos"
      },
      "env":{  
        "COUCHBASE_URI":"database-webapp.marathon.containerip.dcos.thisdcos.directory"
      },
      "labels":{  
        "HAPROXY_0_VHOST":"DCOS-PublicSlaveLo-DD2EGGFVCJA0-1604955948.us-west-1.elb.amazonaws.com",
        "HAPROXY_GROUP":"external"
      }
    }
  ]
}
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-26">26</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-28">28</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-29">29</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-30">30</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-31">31</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-32">32</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-33">33</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-34">34</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-35">35</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-36">36</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-37">37</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-38">38</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-39">39</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-40">40</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-41">41</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-42">42</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-43">43</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-44">44</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-45">45</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-46">46</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-47">47</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-48">48</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-49">49</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-50">50</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-51">51</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-52">52</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-53">53</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-54">54</div><div class="crayon-num" data-line="crayon-5cfd1e54adc21026420149-55">55</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc21026420149-56">56</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-2"><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-3"><span class="crayon-h">  </span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-s">"/webapp"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-4"><span class="crayon-h">  </span><span class="crayon-s">"apps"</span><span class="crayon-o">:</span><span class="crayon-sy">[</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-5"><span class="crayon-h">    </span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-6"><span class="crayon-h">      </span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-s">"database"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-7"><span class="crayon-h">      </span><span class="crayon-s">"cpus"</span><span class="crayon-o">:</span><span class="crayon-cn">4</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-8"><span class="crayon-h">      </span><span class="crayon-s">"mem"</span><span class="crayon-o">:</span><span class="crayon-cn">4096</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-9"><span class="crayon-h">      </span><span class="crayon-s">"instances"</span><span class="crayon-o">:</span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-10"><span class="crayon-h">      </span><span class="crayon-s">"container"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-11"><span class="crayon-h">        </span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-s">"DOCKER"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-12"><span class="crayon-h">        </span><span class="crayon-s">"docker"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-13"><span class="crayon-h">          </span><span class="crayon-s">"image"</span><span class="crayon-o">:</span><span class="crayon-s">"arungupta/couchbase:travel"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-14"><span class="crayon-h">          </span><span class="crayon-s">"network"</span><span class="crayon-o">:</span><span class="crayon-s">"USER"</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-15"><span class="crayon-h">        </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-16"><span class="crayon-h">      </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-17"><span class="crayon-h">      </span><span class="crayon-s">"ipAddress"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-18"><span class="crayon-h">        </span><span class="crayon-s">"networkName"</span><span class="crayon-o">:</span><span class="crayon-s">"dcos"</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-19"><span class="crayon-h">      </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-20"><span class="crayon-h">    </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-21"><span class="crayon-h">    </span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-22"><span class="crayon-h">      </span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-s">"web"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-23"><span class="crayon-h">      </span><span class="crayon-s">"dependencies"</span><span class="crayon-o">:</span><span class="crayon-sy">[</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-24"><span class="crayon-h">        </span><span class="crayon-s">"/webapp/database"</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-25"><span class="crayon-h">      </span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-26"><span class="crayon-h">      </span><span class="crayon-s">"cpus"</span><span class="crayon-o">:</span><span class="crayon-cn">2</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-27"><span class="crayon-h">      </span><span class="crayon-s">"mem"</span><span class="crayon-o">:</span><span class="crayon-cn">4096</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-28"><span class="crayon-h">      </span><span class="crayon-s">"instances"</span><span class="crayon-o">:</span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-29"><span class="crayon-h">      </span><span class="crayon-s">"container"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-30"><span class="crayon-h">        </span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-s">"DOCKER"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-31"><span class="crayon-h">        </span><span class="crayon-s">"docker"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-32"><span class="crayon-h">          </span><span class="crayon-s">"image"</span><span class="crayon-o">:</span><span class="crayon-s">"arungupta/wildfly-couchbase-javaee:travel"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-33"><span class="crayon-h">          </span><span class="crayon-s">"network"</span><span class="crayon-o">:</span><span class="crayon-s">"USER"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-34"><span class="crayon-h">          </span><span class="crayon-s">"portMappings"</span><span class="crayon-o">:</span><span class="crayon-sy">[</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-35"><span class="crayon-h">            </span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-36"><span class="crayon-h">              </span><span class="crayon-s">"hostPort"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-37"><span class="crayon-h">              </span><span class="crayon-s">"containerPort"</span><span class="crayon-o">:</span><span class="crayon-cn">8080</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-38"><span class="crayon-h">              </span><span class="crayon-s">"protocol"</span><span class="crayon-o">:</span><span class="crayon-s">"tcp"</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-39"><span class="crayon-h">            </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-40"><span class="crayon-h">          </span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-41"><span class="crayon-h">        </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-42"><span class="crayon-h">      </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-43"><span class="crayon-h">      </span><span class="crayon-s">"ipAddress"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-44"><span class="crayon-h">        </span><span class="crayon-s">"networkName"</span><span class="crayon-o">:</span><span class="crayon-s">"dcos"</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-45"><span class="crayon-h">      </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-46"><span class="crayon-h">      </span><span class="crayon-s">"env"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-47"><span class="crayon-h">        </span><span class="crayon-s">"COUCHBASE_URI"</span><span class="crayon-o">:</span><span class="crayon-s">"database-webapp.marathon.containerip.dcos.thisdcos.directory"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-48"><span class="crayon-h">      </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-49"><span class="crayon-h">      </span><span class="crayon-s">"labels"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-50"><span class="crayon-h">        </span><span class="crayon-s">"HAPROXY_0_VHOST"</span><span class="crayon-o">:</span><span class="crayon-s">"DCOS-PublicSlaveLo-DD2EGGFVCJA0-1604955948.us-west-1.elb.amazonaws.com"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-51"><span class="crayon-h">        </span><span class="crayon-s">"HAPROXY_GROUP"</span><span class="crayon-o">:</span><span class="crayon-s">"external"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-52"><span class="crayon-h">      </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-53"><span class="crayon-h">    </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-54"><span class="crayon-h">  </span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54adc21026420149-55"><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc21026420149-56"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0074 seconds] -->
<p>
What are the key points in this application definition?</p>
<ul>
<li>Application has two containers: <code>database</code> and <code>web</code>. The web container has a dependency on the database container defined using <code>dependencies</code> attribute.</li>
<li><code>database</code> container uses <code>arungupta/couchbase:travel</code> Docker image. This image is created from github.com/arun-gupta/couchbase-javaee/tree/master/couchbase. It uses Couchbase base image and uses Couchbase REST API to pre-configure the database. A sample bucket is also loaded in the database as well.</li>
<li><code>web</code> container uses <code>arungupta/wildfly-couchbase-javaee:travel</code> image. This image is created from github.com/arun-gupta/couchbase-javaee/blob/master/Dockerfile. This is a Java EE 7 application bundled in WildFly. The app uses <code>COUCHBASE_URI</code> as an environment variable to connect to the Couchbase database. The value of this environment variable is configured to use DNS service discovery and is derived as explained in Virtual Networks.</li>
</ul>
<p>Make sure to change the value of <code>HAPROXY_0_VHOST</code> to match the value of <code>${PublicSlaveDnsAddress}</code> from CloudFormation output. The label <code>HAPROXY_0_VHOST</code> instructs Marathon-LB to expose the Docker container, the WildFly application server in our case, on the external load balancer with a virtual host. The <code>0</code> in the label key corresponds to the servicePort index, beginning from 0. If you had multiple servicePort definitions, you would iterate them as 0, 1, 2, and so on. Deploying an internally and externally load-balanced app with marathon-lb provide more details about how to configure marathon-lb.</p>
<p>Service Discovery and Load Balancing provide more details about service discovery and load balancing in DC/OS.</p>
<h2>Deploy the Application using Maven</h2>
<p>The application can be deployed using dcos-maven-plugin.</p>
<p>Plugin looks like:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54adc3f472776738" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div><span class="crayon-language">XHTML</span></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
&lt;plugin&gt;
    &lt;groupId&gt;dcos&lt;/groupId&gt;
    &lt;artifactId&gt;dcos-maven-plugin&lt;/artifactId&gt;
    &lt;version&gt;0.2&lt;/version&gt;
    &lt;configuration&gt;
        &lt;dcosUrl&gt;http://DCOS-ElasticLoadBa-1TH4TXIU5P783-1163025470.us-west-1.elb.amazonaws.com/&lt;/dcosUrl&gt;
        &lt;deployable&gt;group&lt;/deployable&gt;
        &lt;ignoreSslCertificate&gt;true&lt;/ignoreSslCertificate&gt;
    &lt;/configuration&gt;
    &lt;executions&gt;
        &lt;execution&gt;
            &lt;id&gt;dcos:deploy&lt;/id&gt;
            &lt;phase&gt;install&lt;/phase&gt;
            &lt;goals&gt;
                &lt;goal&gt;deploy&lt;/goal&gt;
            &lt;/goals&gt;
        &lt;/execution&gt;
    &lt;/executions&gt;
&lt;/plugin&gt;
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54adc3f472776738-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc3f472776738-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54adc3f472776738-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc3f472776738-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54adc3f472776738-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc3f472776738-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54adc3f472776738-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc3f472776738-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54adc3f472776738-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc3f472776738-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54adc3f472776738-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc3f472776738-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54adc3f472776738-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc3f472776738-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54adc3f472776738-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc3f472776738-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54adc3f472776738-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc3f472776738-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54adc3f472776738-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc3f472776738-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54adc3f472776738-21">21</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54adc3f472776738-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc3f472776738-2"><span class="crayon-r">&lt;plugin&gt;</span></div><div class="crayon-line" id="crayon-5cfd1e54adc3f472776738-3"><span class="crayon-i">    </span><span class="crayon-r">&lt;groupId&gt;</span><span class="crayon-i">dcos</span><span class="crayon-r">&lt;/groupId&gt;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc3f472776738-4"><span class="crayon-i">    </span><span class="crayon-r">&lt;artifactId&gt;</span><span class="crayon-i">dcos-maven-plugin</span><span class="crayon-r">&lt;/artifactId&gt;</span></div><div class="crayon-line" id="crayon-5cfd1e54adc3f472776738-5"><span class="crayon-i">    </span><span class="crayon-r">&lt;version&gt;</span><span class="crayon-i">0.2</span><span class="crayon-r">&lt;/version&gt;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc3f472776738-6"><span class="crayon-i">    </span><span class="crayon-r">&lt;configuration&gt;</span></div><div class="crayon-line" id="crayon-5cfd1e54adc3f472776738-7"><span class="crayon-i">        </span><span class="crayon-r">&lt;dcosUrl&gt;</span><span class="crayon-i">http://DCOS-ElasticLoadBa-1TH4TXIU5P783-1163025470.us-west-1.elb.amazonaws.com/</span><span class="crayon-r">&lt;/dcosUrl&gt;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc3f472776738-8"><span class="crayon-i">        </span><span class="crayon-r">&lt;deployable&gt;</span><span class="crayon-i">group</span><span class="crayon-r">&lt;/deployable&gt;</span></div><div class="crayon-line" id="crayon-5cfd1e54adc3f472776738-9"><span class="crayon-i">        </span><span class="crayon-r">&lt;ignoreSslCertificate&gt;</span><span class="crayon-i">true</span><span class="crayon-r">&lt;/ignoreSslCertificate&gt;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc3f472776738-10"><span class="crayon-i">    </span><span class="crayon-r">&lt;/configuration&gt;</span></div><div class="crayon-line" id="crayon-5cfd1e54adc3f472776738-11"><span class="crayon-i">    </span><span class="crayon-r">&lt;executions&gt;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc3f472776738-12"><span class="crayon-i">        </span><span class="crayon-r">&lt;execution&gt;</span></div><div class="crayon-line" id="crayon-5cfd1e54adc3f472776738-13"><span class="crayon-i">            </span><span class="crayon-r">&lt;id&gt;</span><span class="crayon-i">dcos:deploy</span><span class="crayon-r">&lt;/id&gt;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc3f472776738-14"><span class="crayon-i">            </span><span class="crayon-r">&lt;phase&gt;</span><span class="crayon-i">install</span><span class="crayon-r">&lt;/phase&gt;</span></div><div class="crayon-line" id="crayon-5cfd1e54adc3f472776738-15"><span class="crayon-i">            </span><span class="crayon-r">&lt;goals&gt;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc3f472776738-16"><span class="crayon-i">                </span><span class="crayon-r">&lt;goal&gt;</span><span class="crayon-i">deploy</span><span class="crayon-r">&lt;/goal&gt;</span></div><div class="crayon-line" id="crayon-5cfd1e54adc3f472776738-17"><span class="crayon-i">            </span><span class="crayon-r">&lt;/goals&gt;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc3f472776738-18"><span class="crayon-i">        </span><span class="crayon-r">&lt;/execution&gt;</span></div><div class="crayon-line" id="crayon-5cfd1e54adc3f472776738-19"><span class="crayon-i">    </span><span class="crayon-r">&lt;/executions&gt;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc3f472776738-20"><span class="crayon-r">&lt;/plugin&gt;</span></div><div class="crayon-line" id="crayon-5cfd1e54adc3f472776738-21"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0021 seconds] -->
<p>
Main points in this fragment are:</p>
<ul>
<li>Plugin version is 0.2. That indicates the plugin is still in early stages of development.</li>
<li><code>dcosUrl</code> is the value of <code>${DnsAddress}</code> key from CloudFormation output. This address is used for deployment of the application.</li>
<li><code>&lt;deployable&gt;</code> element enables different types of deployment - app, group or pods. This element is a hint for the plugin and should likely go away in a future version as Marathon API consolidates. Follow #11 for more details.</li>
</ul>
<p>Other details and configuration about the plugin are at dcos-maven-plugin.</p>
<p>Deploy the application:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54adc51208524968" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
mvn install
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54adc51208524968-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc51208524968-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54adc51208524968-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54adc51208524968-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc51208524968-2"><span class="crayon-e">mvn </span><span class="crayon-i">install</span></div><div class="crayon-line" id="crayon-5cfd1e54adc51208524968-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0003 seconds] -->
<p>
The following output is shown:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54adc5f940479410" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
[INFO] --- dcos-maven-plugin:0.2:deploy (dcos:deploy) @ dcos-java-database ---
[INFO] About to execute DC/OS deploy
[INFO] app definition: /Users/arungupta/workspaces/dcos-java-database/app-definition.json
[INFO] dcos token: /Users/arungupta/workspaces/dcos-java-database/.dcos-token
[INFO] dcos url: http://DCOS-ElasticLoadBa-1TH4TXIU5P783-1163025470.us-west-1.elb.amazonaws.com/
[INFO] ignore ssl certificate: true
[INFO] deployable: group
[INFO] Response from DC/OS [200] {"version":"2017-03-07T13:27:49.970Z","deploymentId":"dbc80f96-28cb-4040-8d0d-78452e461ec1"}
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54adc5f940479410-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc5f940479410-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54adc5f940479410-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc5f940479410-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54adc5f940479410-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc5f940479410-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54adc5f940479410-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc5f940479410-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54adc5f940479410-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc5f940479410-10">10</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54adc5f940479410-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc5f940479410-2"><span class="crayon-sy">[</span><span class="crayon-v">INFO</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">dcos</span><span class="crayon-o">-</span><span class="crayon-v">maven</span><span class="crayon-o">-</span><span class="crayon-v">plugin</span><span class="crayon-o">:</span><span class="crayon-cn">0.2</span><span class="crayon-o">:</span><span class="crayon-e">deploy</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-v">dcos</span><span class="crayon-o">:</span><span class="crayon-v">deploy</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-sy">@</span><span class="crayon-h"> </span><span class="crayon-v">dcos</span><span class="crayon-o">-</span><span class="crayon-v">java</span><span class="crayon-o">-</span><span class="crayon-v">database</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-o">-</span></div><div class="crayon-line" id="crayon-5cfd1e54adc5f940479410-3"><span class="crayon-sy">[</span><span class="crayon-v">INFO</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">About </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">execute </span><span class="crayon-v">DC</span><span class="crayon-o">/</span><span class="crayon-e">OS </span><span class="crayon-i">deploy</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc5f940479410-4"><span class="crayon-sy">[</span><span class="crayon-v">INFO</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">app </span><span class="crayon-v">definition</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">Users</span><span class="crayon-o">/</span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">workspaces</span><span class="crayon-o">/</span><span class="crayon-v">dcos</span><span class="crayon-o">-</span><span class="crayon-v">java</span><span class="crayon-o">-</span><span class="crayon-v">database</span><span class="crayon-o">/</span><span class="crayon-v">app</span><span class="crayon-o">-</span><span class="crayon-v">definition</span><span class="crayon-sy">.</span><span class="crayon-i">json</span></div><div class="crayon-line" id="crayon-5cfd1e54adc5f940479410-5"><span class="crayon-sy">[</span><span class="crayon-v">INFO</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">dcos </span><span class="crayon-v">token</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">Users</span><span class="crayon-o">/</span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">workspaces</span><span class="crayon-o">/</span><span class="crayon-v">dcos</span><span class="crayon-o">-</span><span class="crayon-v">java</span><span class="crayon-o">-</span><span class="crayon-v">database</span><span class="crayon-o">/</span><span class="crayon-sy">.</span><span class="crayon-v">dcos</span><span class="crayon-o">-</span><span class="crayon-i">token</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc5f940479410-6"><span class="crayon-sy">[</span><span class="crayon-v">INFO</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">dcos </span><span class="crayon-v">url</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//DCOS-ElasticLoadBa-1TH4TXIU5P783-1163025470.us-west-1.elb.amazonaws.com/</span></div><div class="crayon-line" id="crayon-5cfd1e54adc5f940479410-7"><span class="crayon-sy">[</span><span class="crayon-v">INFO</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">ignore </span><span class="crayon-e">ssl </span><span class="crayon-v">certificate</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">true</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc5f940479410-8"><span class="crayon-sy">[</span><span class="crayon-v">INFO</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-v">deployable</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">group</span></div><div class="crayon-line" id="crayon-5cfd1e54adc5f940479410-9"><span class="crayon-sy">[</span><span class="crayon-e">INFO</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">Response</span><span class="crayon-h"> </span><span class="crayon-e">from</span><span class="crayon-h"> </span><span class="crayon-e">DC</span><span class="crayon-o">/</span><span class="crayon-e">OS</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-cn">200</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-s">"version"</span><span class="crayon-o">:</span><span class="crayon-s">"2017-03-07T13:27:49.970Z"</span><span class="crayon-sy">,</span><span class="crayon-s">"deploymentId"</span><span class="crayon-o">:</span><span class="crayon-s">"dbc80f96-28cb-4040-8d0d-78452e461ec1"</span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc5f940479410-10"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0051 seconds] -->
<p>
Here are some of the updated output from DC/OS console.</p>
<p>First updated Services tab:<br/>
<img alt="DC/OS Cluster Web Application" class="alignnone size-large wp-image-2906" height="713" src="wp-content/uploads/2017/03/dcos-cluster-webapp-1-1024x811.png" width="900"/></p>
<p>Two applications in the service:<br/>
<img alt="DC/OS Cluster Web Application" class="alignnone size-large wp-image-2907" height="724" src="wp-content/uploads/2017/03/dcos-cluster-webapp-2-1024x824.png" width="900"/></p>
<p>Database application has one task:<br/>
<img alt="DC/OS Cluster Web Application" class="alignnone size-large wp-image-2908" height="425" src="wp-content/uploads/2017/03/dcos-cluster-webapp-3-1024x484.png" width="900"/></p>
<p>Status of database task:<img alt="Database Service Discovery" class="alignnone wp-image-2909 size-large" height="818" src="wp-content/uploads/2017/03/dcos-cluster-webapp-4-1024x931.png" width="900"/></p>
<p>Logs from the database task:<br/>
<img alt="DC/OS Cluster Web Application" class="alignnone size-large wp-image-2910" height="587" src="wp-content/uploads/2017/03/dcos-cluster-webapp-5-1024x668.png" width="900"/></p>
<p>It shows the output from Couchbase REST API for configuring the server.</p>
<p>Status of web task:<br/>
<img alt="DC/OS Cluster Web Application" class="alignnone size-large wp-image-2911" height="669" src="wp-content/uploads/2017/03/dcos-cluster-webapp-6-1024x761.png" width="900"/></p>
<p>Logs from web task:<br/>
<img alt="DC/OS Cluster WildFly Output" class="alignnone size-large wp-image-2912" height="533" src="wp-content/uploads/2017/03/dcos-cluster-webapp-7-1024x606.png" width="900"/></p>
<p>It shows that the Java EE application is deployed successfully.</p>
<p>Access the application:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54adc71748798852" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
curl http://DCOS-PublicSlaveLo-DD2EGGFVCJA0-1604955948.us-west-1.elb.amazonaws.com/airlines/resources/airline
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54adc71748798852-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc71748798852-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54adc71748798852-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54adc71748798852-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc71748798852-2"><span class="crayon-e">curl </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//DCOS-PublicSlaveLo-DD2EGGFVCJA0-1604955948.us-west-1.elb.amazonaws.com/airlines/resources/airline</span></div><div class="crayon-line" id="crayon-5cfd1e54adc71748798852-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0004 seconds] -->
<p>
The address is the value of the key <code>${PublicSlaveDnsAddress}</code> from CloudFormation output. A formatted output, for example with jq, looks like:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54adc7f646058824" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
[
  {
    "travel-sample": {
      "country": "United States",
      "iata": "Q5",
      "callsign": "MILE-AIR",
      "name": "40-Mile Air",
      "icao": "MLA",
      "id": 10,
      "type": "airline"
    }
  },
  {
    "travel-sample": {
      "country": "United States",
. . .
     "icao": "RLA",
      "id": 1203,
      "type": "airline"
    }
  }
]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54adc7f646058824-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc7f646058824-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54adc7f646058824-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc7f646058824-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54adc7f646058824-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc7f646058824-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54adc7f646058824-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc7f646058824-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54adc7f646058824-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc7f646058824-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54adc7f646058824-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc7f646058824-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54adc7f646058824-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc7f646058824-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54adc7f646058824-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc7f646058824-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54adc7f646058824-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc7f646058824-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54adc7f646058824-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc7f646058824-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54adc7f646058824-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc7f646058824-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54adc7f646058824-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc7f646058824-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54adc7f646058824-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54adc7f646058824-26">26</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54adc7f646058824-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc7f646058824-2"><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54adc7f646058824-3"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc7f646058824-4"><span class="crayon-h">    </span><span class="crayon-s">"travel-sample"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54adc7f646058824-5"><span class="crayon-h">      </span><span class="crayon-s">"country"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"United States"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc7f646058824-6"><span class="crayon-h">      </span><span class="crayon-s">"iata"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"Q5"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc7f646058824-7"><span class="crayon-h">      </span><span class="crayon-s">"callsign"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"MILE-AIR"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc7f646058824-8"><span class="crayon-h">      </span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"40-Mile Air"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc7f646058824-9"><span class="crayon-h">      </span><span class="crayon-s">"icao"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"MLA"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc7f646058824-10"><span class="crayon-h">      </span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">10</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc7f646058824-11"><span class="crayon-h">      </span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"airline"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc7f646058824-12"><span class="crayon-h">    </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54adc7f646058824-13"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc7f646058824-14"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54adc7f646058824-15"><span class="crayon-h">    </span><span class="crayon-s">"travel-sample"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc7f646058824-16"><span class="crayon-h">      </span><span class="crayon-s">"country"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"United States"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc7f646058824-17"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc7f646058824-18"><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54adc7f646058824-19"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc7f646058824-20"><span class="crayon-h">     </span><span class="crayon-s">"icao"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"RLA"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54adc7f646058824-21"><span class="crayon-h">      </span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1203</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc7f646058824-22"><span class="crayon-h">      </span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"airline"</span></div><div class="crayon-line" id="crayon-5cfd1e54adc7f646058824-23"><span class="crayon-h">    </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc7f646058824-24"><span class="crayon-h">  </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54adc7f646058824-25"><span class="crayon-sy">]</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54adc7f646058824-26"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0033 seconds] -->
<p>
That’s it!</p>
<p>As mentioned earlier, the complete source code used in this blog is at github.com/arun-gupta/dcos-java-database.</p>
<p>This blog showed how a simple Java application can talk to a database using service discovery in DC/OS.</p>
<p>For further information check out:</p>
<ul>
<li><a href="https://dcos.io/">DC/OS Docs</a></li>
<li>Couchbase on Containers</li>
<li>Couchbase Developer Portal</li>
<li>Ask questions on Couchbase Forums or Stack Overflow</li>
<li>Download Couchbase</li>
</ul>
<p>Source: blog.couchbase.com/service-discovery-java-database-dcos/</p>
</div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="service-discovery-java-database-application-dcos/#comments">View all 8 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
</article><!-- #post -->
<article class="post-14650 post type-post status-publish format-standard hentry category-couchbase category-devops" id="post-14650">
<header class="entry-header">
<h1 class="entry-title">
<a href="nosql-simplifies-database-devops-2/" rel="bookmark">NoSQL Simplifies Database DevOps</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="nosql-simplifies-database-devops-2/" rel="bookmark" title="Permalink to NoSQL Simplifies Database DevOps"><time class="entry-date" datetime="2017-03-09T13:16:32+00:00">March 9, 2017</time></a></span><span class="categories-links"><a href="topics/couchbase/" rel="category tag">couchbase</a>, <a href="topics/devops/" rel="category tag">devops</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p>Does your organization want to simplify Database DevOps?<br/>
Is your database becoming a bottleneck to innovate rapidly?<br/>
Do you want to save millions of $$ in database licensing cost?</p>
<p>Read on!</p>
<h2>State of Database DevOps</h2>
<p>State of Database DevOps is a survey on DevOps adoption rates among SQL Server professionals. Over 1000 SQL Server professionals responded to the survey. The respondents came from across the globe and represent a wide range of job roles, company sizes and industries.</p>
<p>There are some good findings in the survey results. A few key findings worth highlighting here:</p>
<blockquote><p>the greatest challenge with integrating database changes into a DevOps process would still be synchronizing application and database changes</p></blockquote>
<p>Another one …</p>
<blockquote><p>The greatest drawback identified with traditional siloed database development is the increased risk of failed deployments or downtime when introducing changes. This is closely followed by slow development and release cycles and the inability to respond quickly to changing business requirements</p></blockquote>
<p>And another one …</p>
<blockquote><p>Increasing the speed of delivery of database changes and freeing developers up to do more value added work are the key drivers for automating the delivery of database changes</p></blockquote>
<p>The challenges highlighted here are not mentioned in the context of SQL server only, but would be applicable towards any relational database. You may be using Oracle, Postgres, MySQL, MariaDB or any other relational database for that matter and would be very much facing these issues. Why?</p>
<h2>Why is Relational not well suited for Database DevOps?</h2>
<p>It’s common for an application to operate on data from multiple tables in a RDBMS. For example, placing an order may use Customer, Order and Product tables. Each table has multiple columns with standard data types specific to a database. Tables may have primary, reference and foreign key constraints. Developers building applications using a relational database typically use an Object Relational Mapper (ORM), such as Hibernate or Java Persistence API for Java developers. There are similar ORM for other languages as well. ORMs captures the underlying complex database structure and allow programmers to build applications naturally using their language.</p>
<p>ORMs also use a persistence provider and allows your application to be independent of the underlying database. This persistence provider creates a binding between the language specific class to the database structure. For example, it maps a class to a table or multiple tables, binds the language data types to the types defined in the database and captures the relationship between tables. Theoretically, a programmer can use a different persistence provider to use a different RDBMS for the application. But this is far from a practical experience!</p>
<p>Any database change requires the ORM classes to be updated otherwise the application may not work. For example, adding a new table may mean a new Java class or updating an existing class. Change of a data type in a column requires the class definition to be updated otherwise the application will not even compile. Adding a new column means adding a new field in the class. Any change requires the classes to be updated and the application needs to be repackaged.</p>
<p>Changes in database structure are required all the time to meet the evolving needs of business. But if the DBAs make a database change and the ORM classes are not updated then there is a disconnect. Application deployment needs to be coordinated with the updating the database schema. There are tools like Flyway, Liquibase and others that integrate application and database deployment. But developers are often not allowed to make any direct changes to the production database. A disconnect would result in your application not working and the business to suffer. DevOps practices can definitely help solve these issues as it requires a close collaboration between developers that are building applications and DBAs that are updating database scripts.</p>
<p>But as the survey reports, more than 50% of the respondents do not have DevOps adopted today.</p>
<p><img alt="Database DevOps Adoption" class="alignnone size-large wp-image-2832" height="494" src="wp-content/uploads/2017/02/database-devops-1-1024x562.png" width="900"/></p>
<p>There are challenges even if you were to integrate database changes into a DevOps process.</p>
<p><img alt="Database DevOps Challenges" class="alignnone size-large wp-image-2833" height="542" src="wp-content/uploads/2017/02/database-devops-14-1024x617.png" width="900"/></p>
<p>Synchronizing application and database changes where the ORM classes need to be synchronized with the backend database structure is the biggest challenge. DBAs may want to structure the database in a certain way which may not be optimal for application development. Applying consistency across application and database development is the next major challenge for ensuring a seamless database DevOps.</p>
<p>A siloed development has serious issues on your ability to rapidly innovate and deliver value to your business.</p>
<p><img alt="Database DevOps Drawbacks" class="alignnone size-large wp-image-2834" height="517" src="wp-content/uploads/2017/02/database-devops-12-1024x588.png" width="900"/></p>
<p>As shown in this image, failed deployments when introducing changes, slow development/release cycles and inability to respond to business needs account for over 60% of the drawbacks.</p>
<p>Speed of delivery of database changes is the biggest concern for database DevOps.</p>
<p><img alt="Database DevOps Driver" class="alignnone size-large wp-image-2835" height="548" src="wp-content/uploads/2017/02/database-devops-13-1024x624.png" width="900"/></p>
<p>So what do you do?</p>
<h2>How does NoSQL simplify Database DevOps?</h2>
<p>NoSQL document database helps to simplify database DevOps!</p>
<p>How does NoSQL simplify database DevOps?</p>
<ul>
<li><strong>Schema flexibility</strong> - Developers need a single database that can store rapidly changing structured, semi-structured and unstructured data. NoSQL document database offers schema flexibility by allowing developers operate directly on JSON data and derive meaning out of it</li>
<li><strong>No impedance mismatch</strong> - With no ORM for the application, there is no impedance mismatch between domain classes and database structure. Only the application code needs to be updated and no coordination is required with the schema changes</li>
<li><strong>Scalability</strong> -  One of the drawbacks mentioned in the report is the inability to adapt to changing business requirements. This highlights scalability as a major DevOps challenge. If the volume of data, the number of queries, or the types of indexes required to support the application changes the database needs to change to accommodate those changes. Not in weeks or months, but today! No SQL databases run on commodity hardware and has a scale-out architecture as opposed to scale-up with RDBMS. Sharding can help with scalability in RDBMS but that’s an extra complexity that now need to be dealt with.</li>
</ul>
<p>Learn more about why enterprises move to NoSQL.</p>
<p>Which NoSQL database is preferred by GE, Marriott, Verizon, United, LinkedIn, DIRECTV and many others?</p>
<p>What are some other advantages of Couchbase?</p>
<ul>
<li>Homogeneous distributed architecture - no master/slave</li>
<li>SQL-like query language to query JSON documents</li>
<li>Auto-sharding using vBuckets</li>
<li>Memory-first architecture reduces the need for an additional caching layer</li>
<li>Cross-data center replication</li>
<li>Multiple SDKs</li>
<li>Database on server or mobile device, with a complete synchronization between them</li>
<li>Different container orchestration frameworks</li>
</ul>
<p>NoSQL is not a panacea by any means. If you are building a system that needs complex transaction logic or real-time data warehousing, then RDBMS may be a better fit. However it addresses your scalability and agility concerns and simplifies database DevOps.</p>
<p>Here is a great video on migrating from relational database to NoSQL:</p>
<p><iframe allowfullscreen="" frameborder="0" height="340" src="https://www.youtube.com/embed/xlYSgyHLur8?feature=oembed" width="604"></iframe></p>
<p>Here is another interesting video that shows why Marriott transitioned from Relational to NoSQL:</p>
<p><iframe allowfullscreen="" frameborder="0" height="340" src="https://www.youtube.com/embed/UPiSVuOiz9g?feature=oembed" width="604"></iframe></p>
<p>A lot more videos are available on Couchbase Connect 2016.</p>
<p>And some more relevant blogs:</p>
<ul>
<li>Making the Shift from Relational to NoSQL: How to Get Started (whitepaper)</li>
<li>Moving from Oracle database to Couchbase</li>
<li>Moving from MySQL to Couchbase</li>
<li>Moving from SQL Server to Couchbase - Part 1 (data modeling), Part 2 (data migration), Part 3 (coming)</li>
<li>Moving from MongoDB to Couchbase</li>
<li>Migrate your MongoDB with Mongoose REST API to Couchbase with Ottoman</li>
<li>Migrating from Relational Database to Couchbase</li>
<li>Top 5 reasons companies replace Oracle with Couchbase</li>
</ul>
<p>Talk to us:</p>
<ul>
<li>Couchbase Developer Portal</li>
<li>Couchbase Forums</li>
<li>@couchhasedev and @couchbase</li>
</ul>
<p>Source: blog.couchbase.com/nosql-simplifies-database-devops/</p>
</div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="nosql-simplifies-database-devops-2/#comments">View all 8 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
</article><!-- #post -->
<article class="post-14648 post type-post status-publish format-standard hentry category-containers category-couchbase" id="post-14648">
<header class="entry-header">
<h1 class="entry-title">
<a href="stateful-containers-using-portworx-couchbase/" rel="bookmark">Stateful Containers using Portworx and Couchbase</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="stateful-containers-using-portworx-couchbase/" rel="bookmark" title="Permalink to Stateful Containers using Portworx and Couchbase"><time class="entry-date" datetime="2017-03-09T13:15:13+00:00">March 9, 2017</time></a></span><span class="categories-links"><a href="topics/containers/" rel="category tag">containers</a>, <a href="topics/couchbase/" rel="category tag">couchbase</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p><img alt="Portworx Logo" class="alignnone size-medium wp-image-2691" height="110" src="wp-content/uploads/2017/02/px-logo-300x110.png" width="300"/> <img alt="Couchbase Logo" class="alignnone size-medium wp-image-1109" height="69" src="wp-content/uploads/2017/02/logo-300x69.png" width="300"/></p>
<p>Containers are meant to be ephemeral and so scale pretty well for stateless applications. Stateful containers, such as Couchbase, need to be treated differently. <a href="https://thenewstack.io/methods-dealing-container-storage/">Managing Persistence for Docker Containers</a> provide a great overview of how to manage persistence for stateful containers.</p>
<p>This blog will explain how to use Docker Volume Plugins and <a href="https://portworx.com/">Portworx</a> to create a stateful container.</p>
<h2 id="user-content-why-a-href-https-portworx-com-portworx-a">Why Portworx?</h2>
<p>Portworx is an easy-to-deploy container data services that provide persistence, replication, snapshots, encryption, secure RBAC and much more. Some of the benefits are:</p>
<ol class="arabic">
<li><strong>Container granular volumes</strong> - Portworx can take multiple EBS volumes per host and aggregate the capacity and derive container granular virtual (soft) volumes per container.</li>
<li><strong>Cross Availability Zone HA</strong> - Portworx will protect the data, at block level, across multiple compute instances across availability zones. As replication controllers restart pods on different nodes, the data will still be highly available on those nodes.</li>
<li><strong>Support for enterprise data operations</strong> - Portworx implements container granular snapshots, class of service, tiering on top of the available physical volumes.</li>
<li><strong>Ease of deployment and provisioning</strong> - Portworx itself is deployed as a container and integrated with the orchestration tools. DevOps can programmatically provision container granular storage with any property such as size, class of service, encryption key etc.</li>
</ol>
<h2>Setup AWS EC2 Instance</h2>
<p>Portworx runs only on Linux or CoreOS. Setup an Ubuntu instance on AWS EC2:</p>
<ol class="arabic">
<li>Start Ubuntu 14.04 instance with <code>m3.medium</code> instance type. Make sure to add port 8091 to inbound security rules. This allows Couchbase Web Console to be accessible afterwards.</li>
<li>Login to the EC2 instance using the command: <code>ssh -i ~/.ssh/arun-cb-west1.pem ubuntu@&lt;public-ip&gt;</code></li>
<li>Update the Ubuntu instance: <code>sudo apt-get update</code></li>
<li>Install Docker: <code>curl -sSL https://get.docker.com/ | sh</code>. More detailed instructions are available at Get Docker for Ubuntu.</li>
<li>Enable non-root access for the docker command: <code>sudo usermod -aG docker ubuntu</code></li>
<li>Logout from the EC2 instance and log back in</li>
</ol>
<h2>Create AWS EBS Volume</h2>
<ol class="arabic">
<li>Create an EBS volume for 10GB using EC2 console as explained in docs.</li>
<li>Get the instance id from the EC2 console. Attach this volume to EC2 instance using this instance id, use the default device name <code>/dev/sdf.<br/>
<img alt="Portworx EC2 Create Volume" class="alignnone size-medium wp-image-2690" height="138" src="http://blog.couchbase.com/wp-content/uploads/2017/02/portworx-create-ec2-volume-300x138.png" width="300"/><br/>
</code></li>
<li>Use <code>lsblk</code> command in EC2 instance to verify that the volume is attached to the instance:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aee44137707358" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdb    202:16   0  30G  0 disk /mnt
xvdf    202:80   0  10G  0 disk
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aee44137707358-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee44137707358-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aee44137707358-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee44137707358-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54aee44137707358-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee44137707358-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54aee44137707358-7">7</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aee44137707358-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee44137707358-2"><span class="crayon-e">NAME    </span><span class="crayon-v">MAJ</span><span class="crayon-o">:</span><span class="crayon-e">MIN </span><span class="crayon-e">RM </span><span class="crayon-e">SIZE </span><span class="crayon-e">RO </span><span class="crayon-e">TYPE </span><span class="crayon-e">MOUNTPOINT</span></div><div class="crayon-line" id="crayon-5cfd1e54aee44137707358-3"><span class="crayon-i">xvda</span><span class="crayon-h">    </span><span class="crayon-cn">202</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-h">    </span><span class="crayon-cn">0</span><span class="crayon-h">   </span><span class="crayon-cn">8G</span><span class="crayon-h">  </span><span class="crayon-cn">0</span><span class="crayon-h"> </span><span class="crayon-i">disk</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee44137707358-4">└─<span class="crayon-i">xvda1</span><span class="crayon-h"> </span><span class="crayon-cn">202</span><span class="crayon-o">:</span><span class="crayon-cn">1</span><span class="crayon-h">    </span><span class="crayon-cn">0</span><span class="crayon-h">   </span><span class="crayon-cn">8G</span><span class="crayon-h">  </span><span class="crayon-cn">0</span><span class="crayon-h"> </span><span class="crayon-v">part</span><span class="crayon-h"> </span><span class="crayon-o">/</span></div><div class="crayon-line" id="crayon-5cfd1e54aee44137707358-5"><span class="crayon-i">xvdb</span><span class="crayon-h">    </span><span class="crayon-cn">202</span><span class="crayon-o">:</span><span class="crayon-cn">16</span><span class="crayon-h">   </span><span class="crayon-cn">0</span><span class="crayon-h">  </span><span class="crayon-cn">30G</span><span class="crayon-h">  </span><span class="crayon-cn">0</span><span class="crayon-h"> </span><span class="crayon-v">disk</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-e">mnt</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee44137707358-6"><span class="crayon-i">xvdf</span><span class="crayon-h">    </span><span class="crayon-cn">202</span><span class="crayon-o">:</span><span class="crayon-cn">80</span><span class="crayon-h">   </span><span class="crayon-cn">0</span><span class="crayon-h">  </span><span class="crayon-cn">10G</span><span class="crayon-h">  </span><span class="crayon-cn">0</span><span class="crayon-h"> </span><span class="crayon-i">disk</span></div><div class="crayon-line" id="crayon-5cfd1e54aee44137707358-7"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0023 seconds] -->
</li>
</ol>
<h2>Portworx Container</h2>
<ol>
<li>Physical storage makeup of each node, all the provisioned volumes in the cluster as well as their container mappings is stored in an etcd cluster. Start an etcd cluster:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aee5d302456975" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker run -v \
  /data/varlib/etcd \
  -p 4001:4001 \
  -d \
  portworx/etcd:latest
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aee5d302456975-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee5d302456975-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aee5d302456975-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee5d302456975-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54aee5d302456975-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee5d302456975-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54aee5d302456975-7">7</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aee5d302456975-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee5d302456975-2"><span class="crayon-e">docker </span><span class="crayon-v">run</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">v</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line" id="crayon-5cfd1e54aee5d302456975-3"><span class="crayon-h">  </span><span class="crayon-o">/</span><span class="crayon-v">data</span><span class="crayon-o">/</span><span class="crayon-v">varlib</span><span class="crayon-o">/</span><span class="crayon-i">etcd</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee5d302456975-4"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-i">p</span><span class="crayon-h"> </span><span class="crayon-cn">4001</span><span class="crayon-o">:</span><span class="crayon-cn">4001</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line" id="crayon-5cfd1e54aee5d302456975-5"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-i">d</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee5d302456975-6"><span class="crayon-h">  </span><span class="crayon-v">portworx</span><span class="crayon-o">/</span><span class="crayon-v">etcd</span><span class="crayon-o">:</span><span class="crayon-i">latest</span></div><div class="crayon-line" id="crayon-5cfd1e54aee5d302456975-7"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0015 seconds] -->
</li>
<li>By default root mounted volumes are not allowed to be shared. Enable this using the command:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aee6c104744230" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
sudo mount --make-shared /
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aee6c104744230-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee6c104744230-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aee6c104744230-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aee6c104744230-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee6c104744230-2"><span class="crayon-e">sudo </span><span class="crayon-v">mount</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">make</span><span class="crayon-o">-</span><span class="crayon-v">shared</span><span class="crayon-h"> </span><span class="crayon-o">/</span></div><div class="crayon-line" id="crayon-5cfd1e54aee6c104744230-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0005 seconds] -->
This is explained more at Ubuntu Configuration and Shared Mounts.</li>
<li>PX-Developer (px-dev) container on a server with Docker Engine turns that server into a scale-out storage node. PX-Enterprise, on the other hand, provides multi-cluster and multi-cloud support, where storage under management can be on-premise or in a public cloud like AWS.<br/>
For this blog, we’ll start a px-dev container:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aee7b707004707" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker run --restart=always --name px -d --net=host \
  --privileged=true                             \
  -v /run/docker/plugins:/run/docker/plugins    \
  -v /var/lib/osd:/var/lib/osd:shared           \
  -v /dev:/dev                                  \
  -v /etc/pwx:/etc/pwx                          \
  -v /opt/pwx/bin:/export_bin:shared            \
  -v /var/run/docker.sock:/var/run/docker.sock  \
  -v /var/cores:/var/cores                      \
  -v /usr/src:/usr/src                           \
  --ipc=host                                    \
  portworx/px-dev -daemon -k etcd://localhost:4001 -c cluster1 -s /dev/xvdf
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aee7b707004707-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee7b707004707-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aee7b707004707-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee7b707004707-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54aee7b707004707-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee7b707004707-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54aee7b707004707-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee7b707004707-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54aee7b707004707-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee7b707004707-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54aee7b707004707-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee7b707004707-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54aee7b707004707-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee7b707004707-14">14</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aee7b707004707-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee7b707004707-2"><span class="crayon-e">docker </span><span class="crayon-v">run</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">restart</span><span class="crayon-o">=</span><span class="crayon-v">always</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-e">name </span><span class="crayon-v">px</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">d</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">net</span><span class="crayon-o">=</span><span class="crayon-i">host</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line" id="crayon-5cfd1e54aee7b707004707-3"><span class="crayon-h">  </span><span class="crayon-o">--</span><span class="crayon-v">privileged</span><span class="crayon-o">=</span><span class="crayon-t">true</span><span class="crayon-h">                             </span><span class="crayon-sy">\</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee7b707004707-4"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-v">v</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">run</span><span class="crayon-o">/</span><span class="crayon-v">docker</span><span class="crayon-o">/</span><span class="crayon-v">plugins</span><span class="crayon-o">:</span><span class="crayon-o">/</span><span class="crayon-v">run</span><span class="crayon-o">/</span><span class="crayon-v">docker</span><span class="crayon-o">/</span><span class="crayon-i">plugins</span><span class="crayon-h">    </span><span class="crayon-sy">\</span></div><div class="crayon-line" id="crayon-5cfd1e54aee7b707004707-5"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-v">v</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-t">var</span><span class="crayon-o">/</span><span class="crayon-v">lib</span><span class="crayon-o">/</span><span class="crayon-v">osd</span><span class="crayon-o">:</span><span class="crayon-o">/</span><span class="crayon-t">var</span><span class="crayon-o">/</span><span class="crayon-v">lib</span><span class="crayon-o">/</span><span class="crayon-v">osd</span><span class="crayon-o">:</span><span class="crayon-i">shared</span><span class="crayon-h">           </span><span class="crayon-sy">\</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee7b707004707-6"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-v">v</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">dev</span><span class="crayon-o">:</span><span class="crayon-o">/</span><span class="crayon-i">dev</span><span class="crayon-h">                                  </span><span class="crayon-sy">\</span></div><div class="crayon-line" id="crayon-5cfd1e54aee7b707004707-7"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-v">v</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">etc</span><span class="crayon-o">/</span><span class="crayon-v">pwx</span><span class="crayon-o">:</span><span class="crayon-o">/</span><span class="crayon-v">etc</span><span class="crayon-o">/</span><span class="crayon-i">pwx</span><span class="crayon-h">                          </span><span class="crayon-sy">\</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee7b707004707-8"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-v">v</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">opt</span><span class="crayon-o">/</span><span class="crayon-v">pwx</span><span class="crayon-o">/</span><span class="crayon-v">bin</span><span class="crayon-o">:</span><span class="crayon-o">/</span><span class="crayon-v">export_bin</span><span class="crayon-o">:</span><span class="crayon-i">shared</span><span class="crayon-h">            </span><span class="crayon-sy">\</span></div><div class="crayon-line" id="crayon-5cfd1e54aee7b707004707-9"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-v">v</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-t">var</span><span class="crayon-o">/</span><span class="crayon-v">run</span><span class="crayon-o">/</span><span class="crayon-v">docker</span><span class="crayon-sy">.</span><span class="crayon-v">sock</span><span class="crayon-o">:</span><span class="crayon-o">/</span><span class="crayon-t">var</span><span class="crayon-o">/</span><span class="crayon-v">run</span><span class="crayon-o">/</span><span class="crayon-v">docker</span><span class="crayon-sy">.</span><span class="crayon-i">sock</span><span class="crayon-h">  </span><span class="crayon-sy">\</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee7b707004707-10"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-v">v</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-t">var</span><span class="crayon-o">/</span><span class="crayon-v">cores</span><span class="crayon-o">:</span><span class="crayon-o">/</span><span class="crayon-t">var</span><span class="crayon-o">/</span><span class="crayon-i">cores</span><span class="crayon-h">                      </span><span class="crayon-sy">\</span></div><div class="crayon-line" id="crayon-5cfd1e54aee7b707004707-11"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-v">v</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">usr</span><span class="crayon-o">/</span><span class="crayon-v">src</span><span class="crayon-o">:</span><span class="crayon-o">/</span><span class="crayon-v">usr</span><span class="crayon-o">/</span><span class="crayon-i">src</span><span class="crayon-h">                           </span><span class="crayon-sy">\</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee7b707004707-12"><span class="crayon-h">  </span><span class="crayon-o">--</span><span class="crayon-v">ipc</span><span class="crayon-o">=</span><span class="crayon-i">host</span><span class="crayon-h">                                    </span><span class="crayon-sy">\</span></div><div class="crayon-line" id="crayon-5cfd1e54aee7b707004707-13"><span class="crayon-h">  </span><span class="crayon-v">portworx</span><span class="crayon-o">/</span><span class="crayon-v">px</span><span class="crayon-o">-</span><span class="crayon-v">dev</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">daemon</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">k</span><span class="crayon-h"> </span><span class="crayon-v">etcd</span><span class="crayon-o">:</span><span class="crayon-c">//localhost:4001 -c cluster1 -s /dev/xvdf</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee7b707004707-14"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0063 seconds] -->
Complete details about this command are available at Run PX with Docker.</li>
<li>Look for logs using <code>docker container logs -f px</code> and watch out for the following statements:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aee8a904178188" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
time="2017-02-16T05:33:26Z" level=info msg="Initialize the scheduler client and the scheduler watch" 
time="2017-02-16T05:33:26Z" level=info msg="Started a kvdb watch on key : scheduler/containers" 
time="2017-02-16T05:33:26Z" level=info msg="Started a kvdb watch on key : scheduler/volumes" 
time="2017-02-16T05:33:26Z" level=info msg="Started a kvdb watch on key : scheduler/nodes/list"
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aee8a904178188-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee8a904178188-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aee8a904178188-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee8a904178188-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54aee8a904178188-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee8a904178188-6">6</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aee8a904178188-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee8a904178188-2"><span class="crayon-v">time</span><span class="crayon-o">=</span><span class="crayon-s">"2017-02-16T05:33:26Z"</span><span class="crayon-h"> </span><span class="crayon-v">level</span><span class="crayon-o">=</span><span class="crayon-e">info </span><span class="crayon-v">msg</span><span class="crayon-o">=</span><span class="crayon-s">"Initialize the scheduler client and the scheduler watch"</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54aee8a904178188-3"><span class="crayon-v">time</span><span class="crayon-o">=</span><span class="crayon-s">"2017-02-16T05:33:26Z"</span><span class="crayon-h"> </span><span class="crayon-v">level</span><span class="crayon-o">=</span><span class="crayon-e">info </span><span class="crayon-v">msg</span><span class="crayon-o">=</span><span class="crayon-s">"Started a kvdb watch on key : scheduler/containers"</span><span class="crayon-h"> </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee8a904178188-4"><span class="crayon-v">time</span><span class="crayon-o">=</span><span class="crayon-s">"2017-02-16T05:33:26Z"</span><span class="crayon-h"> </span><span class="crayon-v">level</span><span class="crayon-o">=</span><span class="crayon-e">info </span><span class="crayon-v">msg</span><span class="crayon-o">=</span><span class="crayon-s">"Started a kvdb watch on key : scheduler/volumes"</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54aee8a904178188-5"><span class="crayon-v">time</span><span class="crayon-o">=</span><span class="crayon-s">"2017-02-16T05:33:26Z"</span><span class="crayon-h"> </span><span class="crayon-v">level</span><span class="crayon-o">=</span><span class="crayon-e">info </span><span class="crayon-v">msg</span><span class="crayon-o">=</span><span class="crayon-s">"Started a kvdb watch on key : scheduler/nodes/list"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee8a904178188-6"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0017 seconds] -->
</li>
<li>Check the status of attached volumes that are available to Portworx using <code>sudo /opt/pwx/bin/pxctl status</code> to see the output:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aee98156033068" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
Status: PX is operational
Node ID: 679b79b1-f4c3-413e-a8e0-c527348647c9
	IP: 172.31.25.21 
 	Local Storage Pool: 1 pool
	Pool	IO_Priority	Size	Used	Status	Zone	Region
	0	LOW		10 GiB	266 MiB	Online	a	us-west-1
	Local Storage Devices: 1 device
	Device	Path		Media Type		Size		Last-Scan
	0:1	/dev/xvdf	STORAGE_MEDIUM_SSD	10 GiB		16 Feb 17 05:33 UTC
	total			-			10 GiB
Cluster Summary
	Cluster ID: cluster1
	Node IP: 172.31.25.21 - Capacity: 266 MiB/10 GiB Online (This node)
Global Storage Pool
	Total Used    	:  266 MiB
	Total Capacity	:  10 GiB
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aee98156033068-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee98156033068-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aee98156033068-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee98156033068-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54aee98156033068-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee98156033068-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54aee98156033068-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee98156033068-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54aee98156033068-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee98156033068-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54aee98156033068-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee98156033068-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54aee98156033068-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee98156033068-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54aee98156033068-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee98156033068-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54aee98156033068-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aee98156033068-18">18</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aee98156033068-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee98156033068-2"><span class="crayon-v">Status</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">PX </span><span class="crayon-st">is</span><span class="crayon-h"> </span><span class="crayon-e">operational</span></div><div class="crayon-line" id="crayon-5cfd1e54aee98156033068-3"><span class="crayon-e">Node </span><span class="crayon-v">ID</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">679b79b1</span><span class="crayon-o">-</span><span class="crayon-v">f4c3</span><span class="crayon-o">-</span><span class="crayon-cn">413e</span><span class="crayon-o">-</span><span class="crayon-v">a8e0</span><span class="crayon-o">-</span><span class="crayon-e">c527348647c9</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee98156033068-4"><span class="crayon-e">    </span><span class="crayon-v">IP</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">172.31.25.21</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54aee98156033068-5"><span class="crayon-h">     </span><span class="crayon-e">Local </span><span class="crayon-e">Storage </span><span class="crayon-v">Pool</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-h"> </span><span class="crayon-e">pool</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee98156033068-6"><span class="crayon-e">    </span><span class="crayon-e">Pool    </span><span class="crayon-e">IO_Priority    </span><span class="crayon-e">Size    </span><span class="crayon-e">Used    </span><span class="crayon-e">Status    </span><span class="crayon-e">Zone    </span><span class="crayon-i">Region</span></div><div class="crayon-line" id="crayon-5cfd1e54aee98156033068-7"><span class="crayon-h">    </span><span class="crayon-cn">0</span><span class="crayon-h">    </span><span class="crayon-i">LOW</span><span class="crayon-h">        </span><span class="crayon-cn">10</span><span class="crayon-h"> </span><span class="crayon-i">GiB</span><span class="crayon-h">    </span><span class="crayon-cn">266</span><span class="crayon-h"> </span><span class="crayon-e">MiB    </span><span class="crayon-i">Online</span><span class="crayon-h">    </span><span class="crayon-i">a</span><span class="crayon-h">    </span><span class="crayon-v">us</span><span class="crayon-o">-</span><span class="crayon-v">west</span><span class="crayon-o">-</span><span class="crayon-cn">1</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee98156033068-8"><span class="crayon-h">    </span><span class="crayon-e">Local </span><span class="crayon-e">Storage </span><span class="crayon-v">Devices</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-h"> </span><span class="crayon-e">device</span></div><div class="crayon-line" id="crayon-5cfd1e54aee98156033068-9"><span class="crayon-e">    </span><span class="crayon-e">Device    </span><span class="crayon-e">Path        </span><span class="crayon-e">Media </span><span class="crayon-e">Type        </span><span class="crayon-e">Size        </span><span class="crayon-v">Last</span><span class="crayon-o">-</span><span class="crayon-i">Scan</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee98156033068-10"><span class="crayon-h">    </span><span class="crayon-cn">0</span><span class="crayon-o">:</span><span class="crayon-cn">1</span><span class="crayon-h">    </span><span class="crayon-o">/</span><span class="crayon-v">dev</span><span class="crayon-o">/</span><span class="crayon-e">xvdf    </span><span class="crayon-v">STORAGE_MEDIUM</span><span class="crayon-sy">_</span>SSD<span class="crayon-h">    </span><span class="crayon-cn">10</span><span class="crayon-h"> </span><span class="crayon-i">GiB</span><span class="crayon-h">        </span><span class="crayon-cn">16</span><span class="crayon-h"> </span><span class="crayon-i">Feb</span><span class="crayon-h"> </span><span class="crayon-cn">17</span><span class="crayon-h"> </span><span class="crayon-cn">05</span><span class="crayon-o">:</span><span class="crayon-cn">33</span><span class="crayon-h"> </span><span class="crayon-e">UTC</span></div><div class="crayon-line" id="crayon-5cfd1e54aee98156033068-11"><span class="crayon-e">    </span><span class="crayon-v">total</span><span class="crayon-h">            </span><span class="crayon-o">-</span><span class="crayon-h">            </span><span class="crayon-cn">10</span><span class="crayon-h"> </span><span class="crayon-e">GiB</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee98156033068-12"><span class="crayon-e">Cluster </span><span class="crayon-e">Summary</span></div><div class="crayon-line" id="crayon-5cfd1e54aee98156033068-13"><span class="crayon-e">    </span><span class="crayon-e">Cluster </span><span class="crayon-v">ID</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">cluster1</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee98156033068-14"><span class="crayon-e">    </span><span class="crayon-e">Node </span><span class="crayon-v">IP</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">172.31.25.21</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">Capacity</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">266</span><span class="crayon-h"> </span><span class="crayon-v">MiB</span><span class="crayon-o">/</span><span class="crayon-cn">10</span><span class="crayon-h"> </span><span class="crayon-e">GiB </span><span class="crayon-e">Online</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-r">This</span><span class="crayon-h"> </span><span class="crayon-v">node</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="crayon-5cfd1e54aee98156033068-15"><span class="crayon-m">Global</span><span class="crayon-h"> </span><span class="crayon-e">Storage </span><span class="crayon-e">Pool</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee98156033068-16"><span class="crayon-e">    </span><span class="crayon-e">Total </span><span class="crayon-v">Used</span><span class="crayon-h">        </span><span class="crayon-o">:</span><span class="crayon-h">  </span><span class="crayon-cn">266</span><span class="crayon-h"> </span><span class="crayon-e">MiB</span></div><div class="crayon-line" id="crayon-5cfd1e54aee98156033068-17"><span class="crayon-e">    </span><span class="crayon-e">Total </span><span class="crayon-v">Capacity</span><span class="crayon-h">    </span><span class="crayon-o">:</span><span class="crayon-h">  </span><span class="crayon-cn">10</span><span class="crayon-h"> </span><span class="crayon-i">GiB</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aee98156033068-18"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0056 seconds] -->
It shows the total capacity available and used.</li>
</ol>
<h2>Docker Volume</h2>
<ol>
<li>Let’s create a Docker volume:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aeea7678358110" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker volume create -d pxd -o size=10G -o fs=ext4 --name cbvol
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aeea7678358110-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeea7678358110-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aeea7678358110-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aeea7678358110-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeea7678358110-2"><span class="crayon-e">docker </span><span class="crayon-e">volume </span><span class="crayon-v">create</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">d</span><span class="crayon-h"> </span><span class="crayon-v">pxd</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">o</span><span class="crayon-h"> </span><span class="crayon-v">size</span><span class="crayon-o">=</span><span class="crayon-cn">10G</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">o</span><span class="crayon-h"> </span><span class="crayon-v">fs</span><span class="crayon-o">=</span><span class="crayon-v">ext4</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-e">name </span><span class="crayon-i">cbvol</span></div><div class="crayon-line" id="crayon-5cfd1e54aeea7678358110-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0010 seconds] -->
More details about this command are at Create Volumes with Docker.</li>
<li>Check the list of volumes available using <code>docker volume ls</code> command:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aeeb5354305202" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
DRIVER              VOLUME NAME
local               70f7b9a356df4c1f0c08e13a4e813f1ef3e174a91001f277a63b62d683a27159
pxd                 cbvol
local               f7bc5fa455a88638c106881f1bce98244b670e094d5fdc47917b53a88e46c073
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aeeb5354305202-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeeb5354305202-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aeeb5354305202-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeeb5354305202-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54aeeb5354305202-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeeb5354305202-6">6</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aeeb5354305202-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeeb5354305202-2"><span class="crayon-e">DRIVER              </span><span class="crayon-e">VOLUME </span><span class="crayon-e">NAME</span></div><div class="crayon-line" id="crayon-5cfd1e54aeeb5354305202-3"><span class="crayon-i">local</span><span class="crayon-h">               </span><span class="crayon-cn">70f7b9a356df4c1f0c08e13a4e813f1ef3e174a91001f277a63b62d683a27159</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeeb5354305202-4"><span class="crayon-e">pxd                 </span><span class="crayon-e">cbvol</span></div><div class="crayon-line" id="crayon-5cfd1e54aeeb5354305202-5"><span class="crayon-e">local               </span><span class="crayon-i">f7bc5fa455a88638c106881f1bce98244b670e094d5fdc47917b53a88e46c073</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeeb5354305202-6"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0008 seconds] -->
As shown, <code>cbvol</code> is created with <code>pxd</code> driver.</li>
</ol>
<h2>Couchbase with Portworx Volume</h2>
<ol>
<li>Create a Couchbase container using the Portworx volume:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aeec3979731688" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker container run \
  -d \
  --name db \
  -v cbvol:/opt/couchbase/var \
  -p 8091-8094:8091-8094 \
  -p 11210:11210 \
  arungupta/couchbase
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aeec3979731688-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeec3979731688-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aeec3979731688-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeec3979731688-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54aeec3979731688-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeec3979731688-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54aeec3979731688-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeec3979731688-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54aeec3979731688-9">9</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aeec3979731688-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeec3979731688-2"><span class="crayon-e">docker </span><span class="crayon-e">container </span><span class="crayon-i">run</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line" id="crayon-5cfd1e54aeec3979731688-3"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-i">d</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeec3979731688-4"><span class="crayon-h">  </span><span class="crayon-o">--</span><span class="crayon-e">name </span><span class="crayon-i">db</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line" id="crayon-5cfd1e54aeec3979731688-5"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-i">v</span><span class="crayon-h"> </span><span class="crayon-v">cbvol</span><span class="crayon-o">:</span><span class="crayon-o">/</span><span class="crayon-v">opt</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">/</span><span class="crayon-t">var</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeec3979731688-6"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-i">p</span><span class="crayon-h"> </span><span class="crayon-cn">8091</span><span class="crayon-o">-</span><span class="crayon-cn">8094</span><span class="crayon-o">:</span><span class="crayon-cn">8091</span><span class="crayon-o">-</span><span class="crayon-cn">8094</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line" id="crayon-5cfd1e54aeec3979731688-7"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-i">p</span><span class="crayon-h"> </span><span class="crayon-cn">11210</span><span class="crayon-o">:</span><span class="crayon-cn">11210</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeec3979731688-8"><span class="crayon-h">  </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-i">couchbase</span></div><div class="crayon-line" id="crayon-5cfd1e54aeec3979731688-9"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0020 seconds] -->
Notice how <code>/opt/couchbase/var</code> where all Couchbase data is stored in the container is mapped to the <code>cbvol</code> volume on the host. This volume is mapped by Portworx.</li>
<li>Login to Couchbase Web Console at http://&lt;public-ip&gt;:8091, use the login <code>Administrator</code> and <code>password</code> as password.</li>
<li>Go to Data Buckets and create a new data bucket pwx:<br/>
<img alt="Couchbase Bucket with Portworx" class="alignnone size-medium wp-image-2692" src="wp-content/uploads/2017/02/portworx-pwx-bucket-1-300x84.png"/></li>
<li>In EC2 instance, see the list of containers:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aeed2436534418" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
ubuntu@ip-172-31-25-21:~$ docker container ls
CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS                                                                                               NAMES
8ae763d9d53b        arungupta/couchbase    "/entrypoint.sh /o..."   5 minutes ago       Up 5 minutes        0.0.0.0:8091-8094-&gt;8091-8094/tcp, 11207/tcp, 11211/tcp, 0.0.0.0:11210-&gt;11210/tcp, 18091-18093/tcp   db
5423bcd9b426        portworx/px-dev        "/docker-entry-poi..."   14 minutes ago      Up 14 minutes                                                                                                           px
cf3c779a4459        portworx/etcd:latest   "/entrypoint.sh /b..."   21 minutes ago      Up 21 minutes       2379-2380/tcp, 7001/tcp, 0.0.0.0:4001-&gt;4001/tcp                                                     youthful_jepsen
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aeed2436534418-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeed2436534418-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aeed2436534418-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeed2436534418-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54aeed2436534418-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeed2436534418-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54aeed2436534418-7">7</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aeed2436534418-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeed2436534418-2"><span class="crayon-v">ubuntu</span><span class="crayon-sy">@</span><span class="crayon-v">ip</span><span class="crayon-o">-</span><span class="crayon-cn">172</span><span class="crayon-o">-</span><span class="crayon-cn">31</span><span class="crayon-o">-</span><span class="crayon-cn">25</span><span class="crayon-o">-</span><span class="crayon-cn">21</span><span class="crayon-o">:</span><span class="crayon-o">~</span><span class="crayon-sy">$</span><span class="crayon-h"> </span><span class="crayon-e">docker </span><span class="crayon-e">container </span><span class="crayon-e">ls</span></div><div class="crayon-line" id="crayon-5cfd1e54aeed2436534418-3"><span class="crayon-e">CONTAINER </span><span class="crayon-e">ID        </span><span class="crayon-e">IMAGE                  </span><span class="crayon-e">COMMAND                  </span><span class="crayon-e">CREATED             </span><span class="crayon-e">STATUS              </span><span class="crayon-e">PORTS                                                                                               </span><span class="crayon-i">NAMES</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeed2436534418-4"><span class="crayon-cn">8ae763d9d53b</span><span class="crayon-h">        </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-i">couchbase</span><span class="crayon-h">    </span><span class="crayon-s">"/entrypoint.sh /o..."</span><span class="crayon-h">   </span><span class="crayon-cn">5</span><span class="crayon-h"> </span><span class="crayon-e">minutes </span><span class="crayon-e">ago       </span><span class="crayon-i">Up</span><span class="crayon-h"> </span><span class="crayon-cn">5</span><span class="crayon-h"> </span><span class="crayon-i">minutes</span><span class="crayon-h">        </span><span class="crayon-cn">0.0.0.0</span><span class="crayon-o">:</span><span class="crayon-cn">8091</span><span class="crayon-o">-</span><span class="crayon-cn">8094</span><span class="crayon-o">-&gt;</span><span class="crayon-cn">8091</span><span class="crayon-o">-</span><span class="crayon-cn">8094</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">11207</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">11211</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">0.0.0.0</span><span class="crayon-o">:</span><span class="crayon-cn">11210</span><span class="crayon-o">-&gt;</span><span class="crayon-cn">11210</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">18091</span><span class="crayon-o">-</span><span class="crayon-cn">18093</span><span class="crayon-o">/</span><span class="crayon-e">tcp   </span><span class="crayon-i">db</span></div><div class="crayon-line" id="crayon-5cfd1e54aeed2436534418-5"><span class="crayon-cn">5423bcd9b426</span><span class="crayon-h">        </span><span class="crayon-v">portworx</span><span class="crayon-o">/</span><span class="crayon-v">px</span><span class="crayon-o">-</span><span class="crayon-i">dev</span><span class="crayon-h">        </span><span class="crayon-s">"/docker-entry-poi..."</span><span class="crayon-h">   </span><span class="crayon-cn">14</span><span class="crayon-h"> </span><span class="crayon-e">minutes </span><span class="crayon-e">ago      </span><span class="crayon-i">Up</span><span class="crayon-h"> </span><span class="crayon-cn">14</span><span class="crayon-h"> </span><span class="crayon-e">minutes                                                                                                           </span><span class="crayon-e">px</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeed2436534418-6"><span class="crayon-e">cf3c779a4459        </span><span class="crayon-v">portworx</span><span class="crayon-o">/</span><span class="crayon-v">etcd</span><span class="crayon-o">:</span><span class="crayon-i">latest</span><span class="crayon-h">   </span><span class="crayon-s">"/entrypoint.sh /b..."</span><span class="crayon-h">   </span><span class="crayon-cn">21</span><span class="crayon-h"> </span><span class="crayon-e">minutes </span><span class="crayon-e">ago      </span><span class="crayon-i">Up</span><span class="crayon-h"> </span><span class="crayon-cn">21</span><span class="crayon-h"> </span><span class="crayon-i">minutes</span><span class="crayon-h">       </span><span class="crayon-cn">2379</span><span class="crayon-o">-</span><span class="crayon-cn">2380</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">7001</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">0.0.0.0</span><span class="crayon-o">:</span><span class="crayon-cn">4001</span><span class="crayon-o">-&gt;</span><span class="crayon-cn">4001</span><span class="crayon-o">/</span><span class="crayon-e">tcp                                                     </span><span class="crayon-v">youthful</span><span class="crayon-sy">_</span>jepsen</div><div class="crayon-line" id="crayon-5cfd1e54aeed2436534418-7"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0053 seconds] -->
<code>etcd</code>, <code>px-dev</code> and <code>db</code> containers are running.</li>
<li>Kill the <code>db</code> container:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aeee1867601691" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker container rm -f db
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aeee1867601691-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeee1867601691-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aeee1867601691-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aeee1867601691-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeee1867601691-2"><span class="crayon-e">docker </span><span class="crayon-e">container </span><span class="crayon-v">rm</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">f</span><span class="crayon-h"> </span><span class="crayon-i">db</span></div><div class="crayon-line" id="crayon-5cfd1e54aeee1867601691-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0005 seconds] -->
</li>
<li>Restart the database container as:<br/>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54aeeef644710158" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker container run \
  -d \
  --name db \
  -v cbvol:/opt/couchbase/var \
  -p 8091-8094:8091-8094 \
  -p 11210:11210 \
  arungupta/couchbase
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54aeeef644710158-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeeef644710158-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54aeeef644710158-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeeef644710158-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54aeeef644710158-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeeef644710158-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54aeeef644710158-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54aeeef644710158-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54aeeef644710158-9">9</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54aeeef644710158-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeeef644710158-2"><span class="crayon-e">docker </span><span class="crayon-e">container </span><span class="crayon-i">run</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line" id="crayon-5cfd1e54aeeef644710158-3"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-i">d</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeeef644710158-4"><span class="crayon-h">  </span><span class="crayon-o">--</span><span class="crayon-e">name </span><span class="crayon-i">db</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line" id="crayon-5cfd1e54aeeef644710158-5"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-i">v</span><span class="crayon-h"> </span><span class="crayon-v">cbvol</span><span class="crayon-o">:</span><span class="crayon-o">/</span><span class="crayon-v">opt</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">/</span><span class="crayon-t">var</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeeef644710158-6"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-i">p</span><span class="crayon-h"> </span><span class="crayon-cn">8091</span><span class="crayon-o">-</span><span class="crayon-cn">8094</span><span class="crayon-o">:</span><span class="crayon-cn">8091</span><span class="crayon-o">-</span><span class="crayon-cn">8094</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line" id="crayon-5cfd1e54aeeef644710158-7"><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-i">p</span><span class="crayon-h"> </span><span class="crayon-cn">11210</span><span class="crayon-o">:</span><span class="crayon-cn">11210</span><span class="crayon-h"> </span><span class="crayon-sy">\</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54aeeef644710158-8"><span class="crayon-h">  </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-i">couchbase</span></div><div class="crayon-line" id="crayon-5cfd1e54aeeef644710158-9"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0021 seconds] -->
Now, because <code>cbvol</code> is mapped to <code>/opt/couchbase/var</code> again, the data is preserved across restarts. This can be verified by accessing the Couchbase Web Consoleand checking on the <code>pwx</code> bucket created earlier.</li>
</ol>
<p>Another interesting perspective is also at why database are not for containers?. Just because there is Docker, does not mean all your database needs should be Dockerized. But if you need to, then there are plenty of options and can be used in production-grade applications.</p>
<p>Want to learn more about running Couchbase in containers?</p>
<ul>
<li>Couchbase on Containers</li>
<li>Couchbase Developer Portal</li>
<li>@couchhasedev and @couchbase</li>
</ul>
<p>Source: blog.couchbase.com/stateful-docker-containers-portworx-couchbase/</p>
</div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="stateful-containers-using-portworx-couchbase/#comments">View all 5 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
</article><!-- #post -->
<article class="post-14646 post type-post status-publish format-standard hentry category-containers category-couchbase" id="post-14646">
<header class="entry-header">
<h1 class="entry-title">
<a href="start-couchbase-using-docker-compose-2/" rel="bookmark">Start Couchbase Using Docker Compose</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="start-couchbase-using-docker-compose-2/" rel="bookmark" title="Permalink to Start Couchbase Using Docker Compose"><time class="entry-date" datetime="2017-03-09T13:13:40+00:00">March 9, 2017</time></a></span><span class="categories-links"><a href="topics/containers/" rel="category tag">containers</a>, <a href="topics/couchbase/" rel="category tag">couchbase</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p>Couchbase Forums has a question Can’t use N1QL on docker-compose. This blog will show how to run Couchbase using Docker Compose and run a N1QL query.</p>
<p><img alt="Docker Compose" class="alignnone size-medium wp-image-2559" height="295" src="wp-content/uploads/2017/02/docker-compose-300x295.png" width="300"/><img alt="N1QL" class="alignnone size-medium wp-image-2560" height="300" src="wp-content/uploads/2017/02/n1ql-300x300.png" width="300"/></p>
<h2>What is Docker Compose?</h2>
<p>Docker Compose allows you to define your multi-container application with all of its dependencies in a single file, then spin your application up in a single command.</p>
<p>Docker Compose introduced v3 in Docker 1.13. How do you know what version of Docker are you running?</p>
<p><code>docker version</code> command gives you that information:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b03b9180268316" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 08:47:51 2017
 OS/Arch:      darwin/amd64
Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 08:47:51 2017
 OS/Arch:      linux/amd64
 Experimental: true
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b03b9180268316-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03b9180268316-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b03b9180268316-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03b9180268316-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b03b9180268316-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03b9180268316-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b03b9180268316-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03b9180268316-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b03b9180268316-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03b9180268316-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b03b9180268316-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03b9180268316-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b03b9180268316-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03b9180268316-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b03b9180268316-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03b9180268316-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b03b9180268316-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03b9180268316-18">18</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b03b9180268316-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03b9180268316-2"><span class="crayon-v">Client</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b03b9180268316-3"><span class="crayon-h"> </span><span class="crayon-v">Version</span><span class="crayon-o">:</span><span class="crayon-h">      </span><span class="crayon-cn">1.13.1</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03b9180268316-4"><span class="crayon-h"> </span><span class="crayon-e">API </span><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h">  </span><span class="crayon-cn">1.26</span></div><div class="crayon-line" id="crayon-5cfd1e54b03b9180268316-5"><span class="crayon-h"> </span><span class="crayon-e">Go </span><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h">   </span><span class="crayon-v">go1</span><span class="crayon-sy">.</span><span class="crayon-cn">7.5</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03b9180268316-6"><span class="crayon-h"> </span><span class="crayon-e">Git </span><span class="crayon-v">commit</span><span class="crayon-o">:</span><span class="crayon-h">   </span><span class="crayon-cn">092cba3</span></div><div class="crayon-line" id="crayon-5cfd1e54b03b9180268316-7"><span class="crayon-h"> </span><span class="crayon-v">Built</span><span class="crayon-o">:</span><span class="crayon-h">        </span><span class="crayon-e">Wed </span><span class="crayon-i">Feb</span><span class="crayon-h">  </span><span class="crayon-cn">8</span><span class="crayon-h"> </span><span class="crayon-cn">08</span><span class="crayon-o">:</span><span class="crayon-cn">47</span><span class="crayon-o">:</span><span class="crayon-cn">51</span><span class="crayon-h"> </span><span class="crayon-cn">2017</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03b9180268316-8"><span class="crayon-h"> </span><span class="crayon-v">OS</span><span class="crayon-o">/</span><span class="crayon-v">Arch</span><span class="crayon-o">:</span><span class="crayon-h">      </span><span class="crayon-v">darwin</span><span class="crayon-o">/</span><span class="crayon-e">amd64</span></div><div class="crayon-line" id="crayon-5cfd1e54b03b9180268316-9"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03b9180268316-10"><span class="crayon-v">Server</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b03b9180268316-11"><span class="crayon-h"> </span><span class="crayon-v">Version</span><span class="crayon-o">:</span><span class="crayon-h">      </span><span class="crayon-cn">1.13.1</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03b9180268316-12"><span class="crayon-h"> </span><span class="crayon-e">API </span><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h">  </span><span class="crayon-cn">1.26</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">minimum </span><span class="crayon-i">version</span><span class="crayon-h"> </span><span class="crayon-cn">1.12</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="crayon-5cfd1e54b03b9180268316-13"><span class="crayon-h"> </span><span class="crayon-e">Go </span><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h">   </span><span class="crayon-v">go1</span><span class="crayon-sy">.</span><span class="crayon-cn">7.5</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03b9180268316-14"><span class="crayon-h"> </span><span class="crayon-e">Git </span><span class="crayon-v">commit</span><span class="crayon-o">:</span><span class="crayon-h">   </span><span class="crayon-cn">092cba3</span></div><div class="crayon-line" id="crayon-5cfd1e54b03b9180268316-15"><span class="crayon-h"> </span><span class="crayon-v">Built</span><span class="crayon-o">:</span><span class="crayon-h">        </span><span class="crayon-e">Wed </span><span class="crayon-i">Feb</span><span class="crayon-h">  </span><span class="crayon-cn">8</span><span class="crayon-h"> </span><span class="crayon-cn">08</span><span class="crayon-o">:</span><span class="crayon-cn">47</span><span class="crayon-o">:</span><span class="crayon-cn">51</span><span class="crayon-h"> </span><span class="crayon-cn">2017</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03b9180268316-16"><span class="crayon-h"> </span><span class="crayon-v">OS</span><span class="crayon-o">/</span><span class="crayon-v">Arch</span><span class="crayon-o">:</span><span class="crayon-h">      </span><span class="crayon-v">linux</span><span class="crayon-o">/</span><span class="crayon-e">amd64</span></div><div class="crayon-line" id="crayon-5cfd1e54b03b9180268316-17"><span class="crayon-e"> </span><span class="crayon-v">Experimental</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">true</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03b9180268316-18"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0043 seconds] -->
<p>
<h2>Couchbase Docker Compose File</h2>
<p>Now if you see this version of Docker, then you can use the following Compose file:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b03d4284498694" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
version: "3"
services:
  db:
    image: arungupta/couchbase
    deploy:
      replicas: 1
    ports:
      - 8091:8091
      - 8092:8092
      - 8093:8093
      - 8094:8094
      - 11210:11210
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b03d4284498694-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03d4284498694-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b03d4284498694-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03d4284498694-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b03d4284498694-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03d4284498694-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b03d4284498694-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03d4284498694-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b03d4284498694-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03d4284498694-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b03d4284498694-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03d4284498694-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b03d4284498694-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03d4284498694-14">14</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b03d4284498694-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03d4284498694-2"><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"3"</span></div><div class="crayon-line" id="crayon-5cfd1e54b03d4284498694-3"><span class="crayon-v">services</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03d4284498694-4"><span class="crayon-h">  </span><span class="crayon-v">db</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b03d4284498694-5"><span class="crayon-h">    </span><span class="crayon-v">image</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-e">couchbase</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03d4284498694-6"><span class="crayon-e">    </span><span class="crayon-v">deploy</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b03d4284498694-7"><span class="crayon-h">      </span><span class="crayon-v">replicas</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03d4284498694-8"><span class="crayon-h">    </span><span class="crayon-v">ports</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b03d4284498694-9"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">8091</span><span class="crayon-o">:</span><span class="crayon-cn">8091</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03d4284498694-10"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">8092</span><span class="crayon-o">:</span><span class="crayon-cn">8092</span></div><div class="crayon-line" id="crayon-5cfd1e54b03d4284498694-11"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">8093</span><span class="crayon-o">:</span><span class="crayon-cn">8093</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03d4284498694-12"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">8094</span><span class="crayon-o">:</span><span class="crayon-cn">8094</span></div><div class="crayon-line" id="crayon-5cfd1e54b03d4284498694-13"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">11210</span><span class="crayon-o">:</span><span class="crayon-cn">11210</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03d4284498694-14"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0020 seconds] -->
<p>
In this Compose file:</p>
<ul>
<li><a href="docs.doc">v3 version of Compose file</a>. If you are using an older version of Docker, then you can consider using v2 version of Compose file.</li>
<li><code>arungupta/couchbase</code> Docker image is used to start Couchbase server.  This image is created as explained at github.com/arun-gupta/docker-images/tree/master/couchbase. It uses Couchbase REST API to pre-configure the Couchbase server.</li>
<li>Ports 8091, 8092, 8093, 8094, 11210 are exposed.</li>
<li>Only a single replica of Couchbase server is started.</li>
</ul>
<p>Couchbase can be started in a couple of ways using this Compose file.</p>
<h2>Couchbase using Docker Compose on Single Docker Host</h2>
<p>If you want to start Couchbase on a single host (such as provisioned by Docker for Mac or a single Docker Machine), then use the command:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b03e4035274542" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker-compose up -d
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b03e4035274542-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03e4035274542-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b03e4035274542-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b03e4035274542-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03e4035274542-2"><span class="crayon-v">docker</span><span class="crayon-o">-</span><span class="crayon-e">compose </span><span class="crayon-v">up</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">d</span></div><div class="crayon-line" id="crayon-5cfd1e54b03e4035274542-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0004 seconds] -->
<p>
This will show the warning message but starts Couchbase server:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b03f2476079515" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
WARNING: Some services (db) use the 'deploy' key, which will be ignored. Compose does not support deploy configuration - use `docker stack deploy` to deploy to a swarm.
Creating couchbase_db_1
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b03f2476079515-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03f2476079515-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b03f2476079515-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b03f2476079515-4">4</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b03f2476079515-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03f2476079515-2"><span class="crayon-v">WARNING</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">Some </span><span class="crayon-e">services</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-v">db</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-st">use</span><span class="crayon-h"> </span><span class="crayon-i">the</span><span class="crayon-h"> </span><span class="crayon-s">'deploy'</span><span class="crayon-h"> </span><span class="crayon-v">key</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-e">which </span><span class="crayon-e">will </span><span class="crayon-e">be </span><span class="crayon-v">ignored</span><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-e">Compose </span><span class="crayon-e">does </span><span class="crayon-st">not</span><span class="crayon-h"> </span><span class="crayon-e">support </span><span class="crayon-e">deploy </span><span class="crayon-v">configuration</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-st">use</span><span class="crayon-h"> </span><span class="crayon-sy">`</span><span class="crayon-e">docker </span><span class="crayon-e">stack </span><span class="crayon-v">deploy</span><span class="crayon-sy">`</span><span class="crayon-h"> </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">deploy </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-i">a</span><span class="crayon-h"> </span><span class="crayon-v">swarm</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b03f2476079515-3"><span class="crayon-e">Creating </span><span class="crayon-v">couchbase_db</span><span class="crayon-sy">_</span>1</div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b03f2476079515-4"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0023 seconds] -->
<p>
Check the status of started service using the command <code>docker-compose ps</code>:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b0400971250038" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
           Name                       Command                       State                        Ports            
-----------------------------------------------------------------------------------------------------------------
couchbase_db_1               /entrypoint.sh /opt/couchb   Up                           11207/tcp,                 
                             ...                                                       0.0.0.0:11210-&gt;11210/tcp,  
                                                                                       11211/tcp, 18091/tcp,      
                                                                                       18092/tcp, 18093/tcp,      
                                                                                       0.0.0.0:8091-&gt;8091/tcp,    
                                                                                       0.0.0.0:8092-&gt;8092/tcp,    
                                                                                       0.0.0.0:8093-&gt;8093/tcp,    
                                                                                       0.0.0.0:8094-&gt;8094/tcp
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b0400971250038-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0400971250038-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b0400971250038-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0400971250038-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b0400971250038-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0400971250038-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b0400971250038-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0400971250038-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b0400971250038-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0400971250038-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b0400971250038-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0400971250038-12">12</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b0400971250038-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0400971250038-2"><span class="crayon-h">           </span><span class="crayon-e">Name                       </span><span class="crayon-e">Command                       </span><span class="crayon-e">State                        </span><span class="crayon-v">Ports</span><span class="crayon-h">            </span></div><div class="crayon-line" id="crayon-5cfd1e54b0400971250038-3"><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">--</span><span class="crayon-o">-</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0400971250038-4"><span class="crayon-v">couchbase_db_1</span><span class="crayon-h">               </span><span class="crayon-o">/</span><span class="crayon-v">entrypoint</span><span class="crayon-sy">.</span><span class="crayon-v">sh</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">opt</span><span class="crayon-o">/</span><span class="crayon-e">couchb   </span><span class="crayon-i">Up</span><span class="crayon-h">                           </span><span class="crayon-cn">11207</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h">                 </span></div><div class="crayon-line" id="crayon-5cfd1e54b0400971250038-5"><span class="crayon-h">                             </span><span class="crayon-sy">.</span><span class="crayon-sy">.</span><span class="crayon-sy">.</span><span class="crayon-h">                                                       </span><span class="crayon-cn">0.0.0.0</span><span class="crayon-o">:</span><span class="crayon-cn">11210</span><span class="crayon-o">-&gt;</span><span class="crayon-cn">11210</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h">  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0400971250038-6"><span class="crayon-h">                                                                                       </span><span class="crayon-cn">11211</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">18091</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h">      </span></div><div class="crayon-line" id="crayon-5cfd1e54b0400971250038-7"><span class="crayon-h">                                                                                       </span><span class="crayon-cn">18092</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">18093</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h">      </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0400971250038-8"><span class="crayon-h">                                                                                       </span><span class="crayon-cn">0.0.0.0</span><span class="crayon-o">:</span><span class="crayon-cn">8091</span><span class="crayon-o">-&gt;</span><span class="crayon-cn">8091</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h">    </span></div><div class="crayon-line" id="crayon-5cfd1e54b0400971250038-9"><span class="crayon-h">                                                                                       </span><span class="crayon-cn">0.0.0.0</span><span class="crayon-o">:</span><span class="crayon-cn">8092</span><span class="crayon-o">-&gt;</span><span class="crayon-cn">8092</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h">    </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0400971250038-10"><span class="crayon-h">                                                                                       </span><span class="crayon-cn">0.0.0.0</span><span class="crayon-o">:</span><span class="crayon-cn">8093</span><span class="crayon-o">-&gt;</span><span class="crayon-cn">8093</span><span class="crayon-o">/</span><span class="crayon-v">tcp</span><span class="crayon-sy">,</span><span class="crayon-h">    </span></div><div class="crayon-line" id="crayon-5cfd1e54b0400971250038-11"><span class="crayon-h">                                                                                       </span><span class="crayon-cn">0.0.0.0</span><span class="crayon-o">:</span><span class="crayon-cn">8094</span><span class="crayon-o">-&gt;</span><span class="crayon-cn">8094</span><span class="crayon-o">/</span><span class="crayon-i">tcp</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0400971250038-12"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0055 seconds] -->
<p>
All the exposed ports are shown and Couchbase is accessible at http://localhost:8091. Use the credentials Administrator/password to access the web console.</p>
<p>Now you can create buckets and connect from CBQ and run N1QL queries. For example:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b0410799543526" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
/Users/arungupta/tools/couchbase/Couchbase\ Server\ 4.5\ EE.app/Contents/Resources/couchbase-core/bin/cbq -u Administrator -p password --engine http://localhost:8093
 Connected to : http://localhost:8093/. Type Ctrl-D or \QUIT to exit.
 Path to history file for the shell : /Users/arungupta/.cbq_history 
cbq&gt; select now_str();
{
    "requestID": "d28280ab-49a4-4254-9f00-06bd1d2b4695",
    "signature": {
        "$1": "string"
    },
    "results": [
        {
            "$1": "2017-02-13T21:36:57.248Z"
        }
    ],
    "status": "success",
    "metrics": {
        "elapsedTime": "2.916653ms",
        "executionTime": "2.829056ms",
        "resultCount": 1,
        "resultSize": 56
    }
}
cbq&gt; select version();
{
    "requestID": "51091fa6-dcc5-40f6-9c2b-1eb6732630bb",
    "signature": {
        "$1": "string"
    },
    "results": [
        {
            "$1": "1.6.0"
        }
    ],
    "status": "success",
    "metrics": {
        "elapsedTime": "4.599365ms",
        "executionTime": "4.525552ms",
        "resultCount": 1,
        "resultSize": 37
    }
}
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-26">26</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-28">28</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-29">29</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-30">30</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-31">31</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-32">32</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-33">33</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-34">34</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-35">35</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-36">36</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-37">37</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-38">38</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-39">39</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-40">40</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-41">41</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-42">42</div><div class="crayon-num" data-line="crayon-5cfd1e54b0410799543526-43">43</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0410799543526-44">44</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-2"><span class="crayon-o">/</span><span class="crayon-v">Users</span><span class="crayon-o">/</span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">tools</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">/</span><span class="crayon-v">Couchbase</span><span class="crayon-sy">\</span><span class="crayon-h"> </span><span class="crayon-v">Server</span><span class="crayon-sy">\</span><span class="crayon-h"> </span><span class="crayon-cn">4.5</span><span class="crayon-sy">\</span><span class="crayon-h"> </span><span class="crayon-v">EE</span><span class="crayon-sy">.</span><span class="crayon-v">app</span><span class="crayon-o">/</span><span class="crayon-v">Contents</span><span class="crayon-o">/</span><span class="crayon-v">Resources</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-v">core</span><span class="crayon-o">/</span><span class="crayon-v">bin</span><span class="crayon-o">/</span><span class="crayon-v">cbq</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">u</span><span class="crayon-h"> </span><span class="crayon-v">Administrator</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">p</span><span class="crayon-h"> </span><span class="crayon-v">password</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-e">engine </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//localhost:8093</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-3"><span class="crayon-h"> </span><span class="crayon-e">Connected </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//localhost:8093/. Type Ctrl-D or \QUIT to exit.</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-4"> </div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-5"><span class="crayon-h"> </span><span class="crayon-e">Path </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">history </span><span class="crayon-e">file </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-e">the </span><span class="crayon-v">shell</span><span class="crayon-h"> </span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">Users</span><span class="crayon-o">/</span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-sy">.</span><span class="crayon-e">cbq_history </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-6"><span class="crayon-v">cbq</span><span class="crayon-o">&gt;</span><span class="crayon-h"> </span><span class="crayon-e">select </span><span class="crayon-e">now_str</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-7"><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-8"><span class="crayon-h">    </span><span class="crayon-s">"requestID"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"d28280ab-49a4-4254-9f00-06bd1d2b4695"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-9"><span class="crayon-h">    </span><span class="crayon-s">"signature"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-10"><span class="crayon-h">        </span><span class="crayon-s">"$1"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"string"</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-11"><span class="crayon-h">    </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-12"><span class="crayon-h">    </span><span class="crayon-s">"results"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-13"><span class="crayon-h">        </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-14"><span class="crayon-h">            </span><span class="crayon-s">"$1"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"2017-02-13T21:36:57.248Z"</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-15"><span class="crayon-h">        </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-16"><span class="crayon-h">    </span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-17"><span class="crayon-h">    </span><span class="crayon-s">"status"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"success"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-18"><span class="crayon-h">    </span><span class="crayon-s">"metrics"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-19"><span class="crayon-h">        </span><span class="crayon-s">"elapsedTime"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"2.916653ms"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-20"><span class="crayon-h">        </span><span class="crayon-s">"executionTime"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"2.829056ms"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-21"><span class="crayon-h">        </span><span class="crayon-s">"resultCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-22"><span class="crayon-h">        </span><span class="crayon-s">"resultSize"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">56</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-23"><span class="crayon-h">    </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-24"><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-25"><span class="crayon-v">cbq</span><span class="crayon-o">&gt;</span><span class="crayon-h"> </span><span class="crayon-e">select </span><span class="crayon-e">version</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-26"><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-27"><span class="crayon-h">    </span><span class="crayon-s">"requestID"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"51091fa6-dcc5-40f6-9c2b-1eb6732630bb"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-28"><span class="crayon-h">    </span><span class="crayon-s">"signature"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-29"><span class="crayon-h">        </span><span class="crayon-s">"$1"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"string"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-30"><span class="crayon-h">    </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-31"><span class="crayon-h">    </span><span class="crayon-s">"results"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">[</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-32"><span class="crayon-h">        </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-33"><span class="crayon-h">            </span><span class="crayon-s">"$1"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"1.6.0"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-34"><span class="crayon-h">        </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-35"><span class="crayon-h">    </span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-36"><span class="crayon-h">    </span><span class="crayon-s">"status"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"success"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-37"><span class="crayon-h">    </span><span class="crayon-s">"metrics"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-38"><span class="crayon-h">        </span><span class="crayon-s">"elapsedTime"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"4.599365ms"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-39"><span class="crayon-h">        </span><span class="crayon-s">"executionTime"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"4.525552ms"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-40"><span class="crayon-h">        </span><span class="crayon-s">"resultCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-41"><span class="crayon-h">        </span><span class="crayon-s">"resultSize"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">37</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-42"><span class="crayon-h">    </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b0410799543526-43"><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0410799543526-44"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0083 seconds] -->
<p>
Typically, you may be able to scale the services started by Docker Compose using <code>docker-compose scale</code> command. But this will not be possible in our case as the ports are exposed. Scaling a service will cause port conflict.</p>
<p>The container can be brought down using the command <code>docker-compose down</code>.</p>
<h2>Couchbase using Docker Compose on Multi-host Swarm-mode Cluster</h2>
<p>Docker allows multiple hosts to be configured in a cluster using Swarm-mode. This can be configured using the command <code>docker swarm init</code>.</p>
<p>Once the cluster is initialized, then the Compose file can be used to start the cluster:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b0420477028750" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker deploy --compose-file=docker-compose.yml couchbase
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b0420477028750-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0420477028750-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b0420477028750-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b0420477028750-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0420477028750-2"><span class="crayon-e">docker </span><span class="crayon-v">deploy</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">compose</span><span class="crayon-o">-</span><span class="crayon-v">file</span><span class="crayon-o">=</span><span class="crayon-v">docker</span><span class="crayon-o">-</span><span class="crayon-v">compose</span><span class="crayon-sy">.</span><span class="crayon-e">yml </span><span class="crayon-i">couchbase</span></div><div class="crayon-line" id="crayon-5cfd1e54b0420477028750-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0011 seconds] -->
<p>
It shows the output:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b042e071485267" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
Creating network couchbase_default
Creating service couchbase_db
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b042e071485267-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b042e071485267-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b042e071485267-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b042e071485267-4">4</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b042e071485267-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b042e071485267-2"><span class="crayon-e">Creating </span><span class="crayon-e">network </span><span class="crayon-e">couchbase_default</span></div><div class="crayon-line" id="crayon-5cfd1e54b042e071485267-3"><span class="crayon-e">Creating </span><span class="crayon-e">service </span><span class="crayon-v">couchbase</span><span class="crayon-sy">_</span>db</div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b042e071485267-4"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0005 seconds] -->
<p>
This creates a Docker service and the status can be seen using the command <code>docker service ls</code>:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b043c914333715" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
ID            NAME          MODE        REPLICAS  IMAGE
0zls1k4mgrry  couchbase_db  replicated  1/1       arungupta/couchbase:latest
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b043c914333715-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b043c914333715-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b043c914333715-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b043c914333715-4">4</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b043c914333715-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b043c914333715-2"><span class="crayon-e">ID            </span><span class="crayon-e">NAME          </span><span class="crayon-e">MODE        </span><span class="crayon-e">REPLICAS  </span><span class="crayon-i">IMAGE</span></div><div class="crayon-line" id="crayon-5cfd1e54b043c914333715-3"><span class="crayon-cn">0zls1k4mgrry</span><span class="crayon-h">  </span><span class="crayon-e">couchbase_db  </span><span class="crayon-i">replicated</span><span class="crayon-h">  </span><span class="crayon-cn">1</span><span class="crayon-o">/</span><span class="crayon-cn">1</span><span class="crayon-h">       </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">:</span><span class="crayon-i">latest</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b043c914333715-4"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0009 seconds] -->
<p>
Check the tasks/containers running inside the service using the command <code>docker service ps couchbase_db</code>:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b044a101386320" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
ID            NAME            IMAGE                       NODE  DESIRED STATE  CURRENT STATE        ERROR  PORTS
vf5zicu4mhei  couchbase_db.1  arungupta/couchbase:latest  moby  Running        Running 3 hours ago
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b044a101386320-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b044a101386320-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b044a101386320-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b044a101386320-4">4</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b044a101386320-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b044a101386320-2"><span class="crayon-e">ID            </span><span class="crayon-e">NAME            </span><span class="crayon-e">IMAGE                       </span><span class="crayon-e">NODE  </span><span class="crayon-e">DESIRED </span><span class="crayon-e">STATE  </span><span class="crayon-e">CURRENT </span><span class="crayon-e">STATE        </span><span class="crayon-e">ERROR  </span><span class="crayon-e">PORTS</span></div><div class="crayon-line" id="crayon-5cfd1e54b044a101386320-3"><span class="crayon-e">vf5zicu4mhei  </span><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">1</span><span class="crayon-h">  </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">:</span><span class="crayon-e">latest  </span><span class="crayon-e">moby  </span><span class="crayon-e">Running        </span><span class="crayon-i">Running</span><span class="crayon-h"> </span><span class="crayon-cn">3</span><span class="crayon-h"> </span><span class="crayon-e">hours </span><span class="crayon-i">ago</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b044a101386320-4"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0012 seconds] -->
<p>
Here again, you can connect to the Couchbase server and run N1QL queries:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b0458236758870" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
/Users/arungupta/tools/couchbase/Couchbase\ Server\ 4.5\ EE.app/Contents/Resources/couchbase-core/bin/cbq -u Administrator -p password --engine http://localhost:8093
 Connected to : http://localhost:8093/. Type Ctrl-D or \QUIT to exit.
 Path to history file for the shell : /Users/arungupta/.cbq_history 
cbq&gt; select version();
{
    "requestID": "12c5581e-44ee-4ea7-9017-6a017bb60a58",
    "signature": {
        "$1": "string"
    },
    "results": [
        {
            "$1": "1.6.0"
        }
    ],
    "status": "success",
    "metrics": {
        "elapsedTime": "3.725498ms",
        "executionTime": "3.678153ms",
        "resultCount": 1,
        "resultSize": 37
    }
}
cbq&gt; select now_str();
{
    "requestID": "efe034fa-6d00-4327-9fc9-da8f6d15d95c",
    "signature": {
        "$1": "string"
    },
    "results": [
        {
            "$1": "2017-02-13T21:38:33.502Z"
        }
    ],
    "status": "success",
    "metrics": {
        "elapsedTime": "853.491µs",
        "executionTime": "800.154µs",
        "resultCount": 1,
        "resultSize": 56
    }
}
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-26">26</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-28">28</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-29">29</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-30">30</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-31">31</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-32">32</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-33">33</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-34">34</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-35">35</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-36">36</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-37">37</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-38">38</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-39">39</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-40">40</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-41">41</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-42">42</div><div class="crayon-num" data-line="crayon-5cfd1e54b0458236758870-43">43</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b0458236758870-44">44</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-2"><span class="crayon-o">/</span><span class="crayon-v">Users</span><span class="crayon-o">/</span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">tools</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">/</span><span class="crayon-v">Couchbase</span><span class="crayon-sy">\</span><span class="crayon-h"> </span><span class="crayon-v">Server</span><span class="crayon-sy">\</span><span class="crayon-h"> </span><span class="crayon-cn">4.5</span><span class="crayon-sy">\</span><span class="crayon-h"> </span><span class="crayon-v">EE</span><span class="crayon-sy">.</span><span class="crayon-v">app</span><span class="crayon-o">/</span><span class="crayon-v">Contents</span><span class="crayon-o">/</span><span class="crayon-v">Resources</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-v">core</span><span class="crayon-o">/</span><span class="crayon-v">bin</span><span class="crayon-o">/</span><span class="crayon-v">cbq</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">u</span><span class="crayon-h"> </span><span class="crayon-v">Administrator</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">p</span><span class="crayon-h"> </span><span class="crayon-v">password</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-e">engine </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//localhost:8093</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-3"><span class="crayon-h"> </span><span class="crayon-e">Connected </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//localhost:8093/. Type Ctrl-D or \QUIT to exit.</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-4"> </div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-5"><span class="crayon-h"> </span><span class="crayon-e">Path </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">history </span><span class="crayon-e">file </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-e">the </span><span class="crayon-v">shell</span><span class="crayon-h"> </span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">Users</span><span class="crayon-o">/</span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-sy">.</span><span class="crayon-e">cbq_history </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-6"><span class="crayon-v">cbq</span><span class="crayon-o">&gt;</span><span class="crayon-h"> </span><span class="crayon-e">select </span><span class="crayon-e">version</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-7"><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-8"><span class="crayon-h">    </span><span class="crayon-s">"requestID"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"12c5581e-44ee-4ea7-9017-6a017bb60a58"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-9"><span class="crayon-h">    </span><span class="crayon-s">"signature"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-10"><span class="crayon-h">        </span><span class="crayon-s">"$1"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"string"</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-11"><span class="crayon-h">    </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-12"><span class="crayon-h">    </span><span class="crayon-s">"results"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-13"><span class="crayon-h">        </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-14"><span class="crayon-h">            </span><span class="crayon-s">"$1"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"1.6.0"</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-15"><span class="crayon-h">        </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-16"><span class="crayon-h">    </span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-17"><span class="crayon-h">    </span><span class="crayon-s">"status"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"success"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-18"><span class="crayon-h">    </span><span class="crayon-s">"metrics"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-19"><span class="crayon-h">        </span><span class="crayon-s">"elapsedTime"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"3.725498ms"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-20"><span class="crayon-h">        </span><span class="crayon-s">"executionTime"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"3.678153ms"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-21"><span class="crayon-h">        </span><span class="crayon-s">"resultCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-22"><span class="crayon-h">        </span><span class="crayon-s">"resultSize"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">37</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-23"><span class="crayon-h">    </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-24"><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-25"><span class="crayon-v">cbq</span><span class="crayon-o">&gt;</span><span class="crayon-h"> </span><span class="crayon-e">select </span><span class="crayon-e">now_str</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-26"><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-27"><span class="crayon-h">    </span><span class="crayon-s">"requestID"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"efe034fa-6d00-4327-9fc9-da8f6d15d95c"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-28"><span class="crayon-h">    </span><span class="crayon-s">"signature"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-29"><span class="crayon-h">        </span><span class="crayon-s">"$1"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"string"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-30"><span class="crayon-h">    </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-31"><span class="crayon-h">    </span><span class="crayon-s">"results"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">[</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-32"><span class="crayon-h">        </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-33"><span class="crayon-h">            </span><span class="crayon-s">"$1"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"2017-02-13T21:38:33.502Z"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-34"><span class="crayon-h">        </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-35"><span class="crayon-h">    </span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-36"><span class="crayon-h">    </span><span class="crayon-s">"status"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"success"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-37"><span class="crayon-h">    </span><span class="crayon-s">"metrics"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-38"><span class="crayon-h">        </span><span class="crayon-s">"elapsedTime"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"853.491µs"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-39"><span class="crayon-h">        </span><span class="crayon-s">"executionTime"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"800.154µs"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-40"><span class="crayon-h">        </span><span class="crayon-s">"resultCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-41"><span class="crayon-h">        </span><span class="crayon-s">"resultSize"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">56</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-42"><span class="crayon-h">    </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b0458236758870-43"><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b0458236758870-44"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0078 seconds] -->
<p>
The service, and thus the container running in the service, can be terminated using the command <code>docker service couchbase_db</code>.</p>
<p>Any more questions? Catch us on Couchbase Forums.</p>
<p>You may also consider running Couchbase Cluster using Docker or read more about Deploying Docker Services to Swarm.</p>
<p>Want to learn more about running Couchbase in containers?</p>
<ul>
<li>Couchbase on Containers</li>
<li>Couchbase Developer Portal</li>
<li>@couchhasedev and @couchbase</li>
</ul>
<p>Source: blog.couchbase.com/couchbase-using-docker-compose/</p>
</p></div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="start-couchbase-using-docker-compose-2/#comments">View all 3 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
</article><!-- #post -->
<article class="post-14607 post type-post status-publish format-standard hentry category-containers category-couchbase tag-cloud tag-containers tag-oracle" id="post-14607">
<header class="entry-header">
<h1 class="entry-title">
<a href="getting-started-oracle-container-cloud-service/" rel="bookmark">Getting Started with Oracle Container Cloud Service</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="getting-started-oracle-container-cloud-service/" rel="bookmark" title="Permalink to Getting Started with Oracle Container Cloud Service"><time class="entry-date" datetime="2017-02-08T18:19:57+00:00">February 8, 2017</time></a></span><span class="categories-links"><a href="topics/containers/" rel="category tag">containers</a>, <a href="topics/couchbase/" rel="category tag">couchbase</a></span><span class="tags-links"><a href="tag/cloud/" rel="tag">cloud</a>, <a href="tag/containers/" rel="tag">containers</a>, <a href="tag/oracle/" rel="tag">oracle</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p><a href="https://cloud.oracle.com/container"><img alt="Oracle Cloud Container Logo" class="alignnone wp-image-14622" height="233" src="wp-content/uploads/2017/02/oracle-cloud-container-logo.png" width="307"/></a></p>
<p>Oracle Container Cloud Service is Oracle’s entry into the the world of managed container service. There are plenty of existing options:</p>
<ul>
<li>Docker for AWS or Azure</li>
<li>Amazon Elastic Container Service</li>
<li>Google Container Engine</li>
<li>Azure Container Service</li>
<li>DC/OS by Mesosphere</li>
<li>OpenShift by Red Hat</li>
</ul>
<p>This blog will explain how to get started with Oracle Container Cloud Service. A comparison of different managed services is started at Managed Container Service.</p>
<p>Before we jump into all the details, let’s try to clarify a couple of things about this offering from Oracle.</p>
<p>First, a bit about the name. “Oracle Cloud Container Service” seems more natural and intuitive since its a Container Service in Oracle Cloud. Wonder why is it called “Oracle Container Cloud Service”? Is it because “Oracle Container” is Oracle’s container orchestration framework and its a Cloud Service? Could that mean other orchestration frameworks be offered as a service as well?</p>
<p>Second, don’t confuse it with Oracle Application Container Cloud Service that allows to build cloud-native 12-factor applications using polyglot platform. Now, that confuses me further. Can the Container Service not be used to build 12-factor apps? Are cloud-native and containers mutually exclusive?</p>
<p>Anyway, this is causing more confusion than clarification <img alt=":)" class="wp-smiley" src="wp-includes/images/smilies/simple-smile.png" style="height: 1em; max-height: 1em;"/> Let’s move on!</p>
<p>One last thing before we dig in. Many thanks to Bruno Borges (@brunoborges) for pushing the buttons for cloud service activation. I don’t know the normal time for the free trial to be activated otherwise. And a much bigger thank to Mike Raab (@mikeraab) for helping me understand the details of Container Service.</p>
<p>Let’s get started!</p>
<ol>
<li>Get a Free Trial for Oracle Cloud. It takes a few days for the trial to be activated. The trial time bombs after 30 days so make sure you’ve time planned for evaluation. Each free trial comes with 6 OC3 nodes. OC3 is one of the <a href="https://cloud.oracle.com/en_US/compute/compute/pricing">compute node types available on Oracle Cloud</a>. OC3 particularly is 1 OCPU (think vCPU on Amazon Web Services) and 7.5 GB RAM.</li>
<li>Once the account is activated, you get an email as shown:<a href="#"><img alt="oracle-cloud-welcome-email" class="alignnone size-large wp-image-14608" height="608" src="wp-content/uploads/2017/02/oracle-cloud-welcome-email-1018x1024.png" width="604"/></a>The important piece of information is <code>username</code>, <code>temporary password</code>, <code>identity domain</code> and <code>My Services URL</code>. The <code>My Account URL</code> link is only for account administration.</li>
<li>Click on My Service URL, login using the values from email:<a href="#"><img alt="oracle-cloud-services-login" class="alignnone size-large wp-image-14609" height="481" src="wp-content/uploads/2017/02/oracle-cloud-services-login-1024x816.png" width="604"/><br/>
</a>You get an opportunity to change your password afterwards</li>
<li>Oracle Cloud dashboard shows up after logging in:<a href="#"><img alt="oracle-cloud-services-dashboard" class="alignnone size-large wp-image-14610" height="412" src="wp-content/uploads/2017/02/oracle-cloud-services-dashboard-1024x699.png" width="604"/></a>A default set of services and their status is shown. The dashboard can also be customized by clicking on <code>Customize Dashboard</code> button on the top right.</li>
<li>Getting to Oracle Container Cloud Service Console is a bit non-intuitive but you get it once you know it. Select Container Cloud Service tab, click on top-right corner and select <code>Open Service Console</code>:<a href="#"><img alt="oracle-cloud-container-service-console-access" class="alignnone size-large wp-image-14611" height="241" src="wp-content/uploads/2017/02/oracle-cloud-container-service-console-access-1024x409.png" width="604"/></a>Or you can directly click on the link for Oracle Container Cloud Service Console in the welcome email. Service console looks like:<a href="#"><img alt="oracle-cloud-container-service-console" class="alignnone size-large wp-image-14612" height="288" src="wp-content/uploads/2017/02/oracle-cloud-container-service-console-1024x488.png" width="604"/></a></li>
<li>Click on Create Service:<a href="#"><img alt="oracle-cloud-container-service-definition" class="alignnone size-large wp-image-14613" height="337" src="wp-content/uploads/2017/02/oracle-cloud-container-service-definition-1024x571.png" width="604"/></a>Oracle Container Container Service Instance Details provide more details about each of the field.What is a worker node? We’ll talk about it a bit later. But essentially this is where the container runs. We are asking for only one worker node.
<p>Its worth noting different capacities for the worker node:<br/>
<a href="#"><img alt="Oracle Cloud CPUs" class="alignnone size-large wp-image-14614" height="198" src="wp-content/uploads/2017/02/oracle-cloud-cpus-1024x336.png" width="604"/></a></p>
<p>Confirm all the settings:</p>
<p><a href="#"><img alt="oracle-cloud-container-service-definition-confirmation" class="alignnone size-large wp-image-14615" height="285" src="wp-content/uploads/2017/02/oracle-cloud-container-service-definition-confirmation-1024x483.png" width="604"/></a></p>
<p>and click on <code>Create&gt;</code> to start the service creation.</p></li>
<li>Wait for about 30 minutes for the service to be created. After that the Service Console looks like:<br/>
<a href="#"><img alt="oracle-cloud-container-service-console-with-service" class="alignnone size-large wp-image-14616" height="441" src="wp-content/uploads/2017/02/oracle-cloud-container-service-console-with-service-1024x747.png" width="604"/></a>Wait, we asked for  one worker node and how come two OCPUs are being consumed.Each Oracle Container Cloud Service has at least two nodes - a <em>manager</em> node and one or more <em>worker</em> nodes. Manager node is responsible for administration of all the workers and and orchestrate containers on different worker nodes. Worker nodes can be organized in different resource pools to meet different workflow needs.
<p>And, so ~30 minutes are spent provisioning two nodes and installing container service components on each node. This is also evident in the service logs shown in <code>Service Create and Delete History</code> shown in the main Console page:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b1428747566995" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
Activity Submitted
Activity Started
Started operation to create service [couchbase] in identity domain [arungupta].
Creating service [couchbase] resources [couchbase-occs-mgr-1,couchbase-occs-wkr-1].
Completed creating service [couchbase] in domain [arungupta].
Started operation to establish security on VMs for component [MANAGER].
Completed operation to establish security on VMs for component [MANAGER]
Started operation to establish security on VMs for component [WORKER].
Completed operation to establish security on VMs for component [WORKER]
Started operation to check provisioning status on the VMs for [MANAGER]
Started operation to check provisioning status on the VMs for [WORKER]
Provisioning Succeeded on all hosts for component [WORKER]
Provisioning Succeeded on all hosts for component [MANAGER]
Provisioning of [MANAGER] succeeded.
Provisioning of [WORKER] succeeded.
Provisioning of all components completed.
Started service reachability check operation for [MANAGER].
Started service reachability check operation for [WORKER].
Reachability Succeeded on all hosts for component [MANAGER]
Successfully completed service reachability check for [MANAGER]
Successfully completed service reachability check for [WORKER]
Reachability Succeeded on all hosts for component [WORKER]
Service reachability check of [WORKER] succeeded.
Service reachability check of all components completed.
Service reachability check of [MANAGER] succeeded.
Activity Ended
Activity Ended
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-26">26</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-28">28</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-29">29</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-30">30</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-31">31</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-32">32</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-33">33</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-34">34</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-35">35</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-36">36</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-37">37</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-38">38</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-39">39</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-40">40</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-41">41</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-42">42</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-43">43</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-44">44</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-45">45</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-46">46</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-47">47</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-48">48</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-49">49</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-50">50</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-51">51</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-52">52</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-53">53</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b1428747566995-54">54</div><div class="crayon-num" data-line="crayon-5cfd1e54b1428747566995-55">55</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-2"><span class="crayon-e">Activity </span><span class="crayon-e">Submitted</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-3"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-4"><span class="crayon-e">Activity </span><span class="crayon-e">Started</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-5"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-6"><span class="crayon-e">Started </span><span class="crayon-e">operation </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">create </span><span class="crayon-i">service</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">couchbase</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-st">in</span><span class="crayon-h"> </span><span class="crayon-e">identity </span><span class="crayon-i">domain</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">arungupta</span><span class="crayon-sy">]</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-7"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-8"><span class="crayon-e">Creating </span><span class="crayon-i">service</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">couchbase</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">resources</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-v">occs</span><span class="crayon-o">-</span><span class="crayon-v">mgr</span><span class="crayon-o">-</span><span class="crayon-cn">1</span><span class="crayon-sy">,</span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-v">occs</span><span class="crayon-o">-</span><span class="crayon-v">wkr</span><span class="crayon-o">-</span><span class="crayon-cn">1</span><span class="crayon-sy">]</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-9"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-10"><span class="crayon-e">Completed </span><span class="crayon-e">creating </span><span class="crayon-i">service</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">couchbase</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-st">in</span><span class="crayon-h"> </span><span class="crayon-i">domain</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">arungupta</span><span class="crayon-sy">]</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-11"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-12"><span class="crayon-e">Started </span><span class="crayon-e">operation </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">establish </span><span class="crayon-e">security </span><span class="crayon-e">on </span><span class="crayon-e">VMs </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-i">component</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">MANAGER</span><span class="crayon-sy">]</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-13"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-14"><span class="crayon-e">Completed </span><span class="crayon-e">operation </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">establish </span><span class="crayon-e">security </span><span class="crayon-e">on </span><span class="crayon-e">VMs </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-i">component</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">MANAGER</span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-15"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-16"><span class="crayon-e">Started </span><span class="crayon-e">operation </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">establish </span><span class="crayon-e">security </span><span class="crayon-e">on </span><span class="crayon-e">VMs </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-i">component</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">WORKER</span><span class="crayon-sy">]</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-17"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-18"><span class="crayon-e">Completed </span><span class="crayon-e">operation </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">establish </span><span class="crayon-e">security </span><span class="crayon-e">on </span><span class="crayon-e">VMs </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-i">component</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">WORKER</span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-19"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-20"><span class="crayon-e">Started </span><span class="crayon-e">operation </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">check </span><span class="crayon-e">provisioning </span><span class="crayon-e">status </span><span class="crayon-e">on </span><span class="crayon-e">the </span><span class="crayon-e">VMs </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">MANAGER</span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-21"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-22"><span class="crayon-e">Started </span><span class="crayon-e">operation </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">check </span><span class="crayon-e">provisioning </span><span class="crayon-e">status </span><span class="crayon-e">on </span><span class="crayon-e">the </span><span class="crayon-e">VMs </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">WORKER</span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-23"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-24"><span class="crayon-e">Provisioning </span><span class="crayon-e">Succeeded </span><span class="crayon-e">on </span><span class="crayon-e">all </span><span class="crayon-e">hosts </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-i">component</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">WORKER</span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-25"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-26"><span class="crayon-e">Provisioning </span><span class="crayon-e">Succeeded </span><span class="crayon-e">on </span><span class="crayon-e">all </span><span class="crayon-e">hosts </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-i">component</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">MANAGER</span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-27"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-28"><span class="crayon-e">Provisioning </span><span class="crayon-i">of</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">MANAGER</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-v">succeeded</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-29"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-30"><span class="crayon-e">Provisioning </span><span class="crayon-i">of</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">WORKER</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-v">succeeded</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-31"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-32"><span class="crayon-e">Provisioning </span><span class="crayon-e">of </span><span class="crayon-e">all </span><span class="crayon-e">components </span><span class="crayon-v">completed</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-33"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-34"><span class="crayon-e">Started </span><span class="crayon-e">service </span><span class="crayon-e">reachability </span><span class="crayon-e">check </span><span class="crayon-e">operation </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">MANAGER</span><span class="crayon-sy">]</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-35"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-36"><span class="crayon-e">Started </span><span class="crayon-e">service </span><span class="crayon-e">reachability </span><span class="crayon-e">check </span><span class="crayon-e">operation </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">WORKER</span><span class="crayon-sy">]</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-37"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-38"><span class="crayon-e">Reachability </span><span class="crayon-e">Succeeded </span><span class="crayon-e">on </span><span class="crayon-e">all </span><span class="crayon-e">hosts </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-i">component</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">MANAGER</span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-39"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-40"><span class="crayon-e">Successfully </span><span class="crayon-e">completed </span><span class="crayon-e">service </span><span class="crayon-e">reachability </span><span class="crayon-e">check </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">MANAGER</span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-41"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-42"><span class="crayon-e">Successfully </span><span class="crayon-e">completed </span><span class="crayon-e">service </span><span class="crayon-e">reachability </span><span class="crayon-e">check </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">WORKER</span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-43"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-44"><span class="crayon-e">Reachability </span><span class="crayon-e">Succeeded </span><span class="crayon-e">on </span><span class="crayon-e">all </span><span class="crayon-e">hosts </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-i">component</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">WORKER</span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-45"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-46"><span class="crayon-e">Service </span><span class="crayon-e">reachability </span><span class="crayon-e">check </span><span class="crayon-i">of</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">WORKER</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-v">succeeded</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-47"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-48"><span class="crayon-e">Service </span><span class="crayon-e">reachability </span><span class="crayon-e">check </span><span class="crayon-e">of </span><span class="crayon-e">all </span><span class="crayon-e">components </span><span class="crayon-v">completed</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-49"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-50"><span class="crayon-e">Service </span><span class="crayon-e">reachability </span><span class="crayon-e">check </span><span class="crayon-i">of</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-v">MANAGER</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-v">succeeded</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-51"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-52"><span class="crayon-e">Activity </span><span class="crayon-e">Ended</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-53"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b1428747566995-54"><span class="crayon-e">Activity </span><span class="crayon-i">Ended</span></div><div class="crayon-line" id="crayon-5cfd1e54b1428747566995-55"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0109 seconds] -->
<p>
No timestamp in the activity feels a bit too clean.</p></li>
<li>One main question that I kept wondering all along is “<em>when am I ready to deploy the containers?</em>“. Apparently, not yet!A couple of more steps so hang in there …
<p>In your service, click on the top-right icon to select another menu:<br/>
<a href="#"><img alt="oracle-cloud-container-console-open" class="alignnone size-large wp-image-14618" height="388" src="wp-content/uploads/2017/02/oracle-cloud-container-console-open-1024x657.png" width="604"/></a></p>
<p>Select <code>Container Console</code>.  So, now you are transitioning from <code>Oracle Container Cloud Service Console</code> to <code>Container Console</code>. Make sure to use the right terminology otherwise it gets confusing fast.</p></li>
<li>This attempts to open Container Console but prompts the usual warning<a href="#"><img alt="oracle-cloud-container-console-open-warning" class="alignnone size-large wp-image-14619" height="510" src="wp-content/uploads/2017/02/oracle-cloud-container-console-open-warning-1024x865.png" width="604"/></a>
<p>Just click on <code>Proceed</code> link. In a typical production setup, this will setup correctly using certificates and so this warning would not happen.</p></li>
<li>This brings up a login screen:<a href="#"><img alt="oracle-cloud-container-console-login" class="alignnone size-large wp-image-14620" height="559" src="wp-content/uploads/2017/02/oracle-cloud-container-console-login-1024x947.png" width="604"/></a></li>
<li>Use the username and password specified during service creation earlier. Click on <code>Login</code> to see Container Console:<a href="#"><img alt="oracle-cloud-container-console-default" class="alignnone size-large wp-image-14621" height="375" src="wp-content/uploads/2017/02/oracle-cloud-container-console-default-1024x636.png" width="604"/></a></li>
</ol>
<p>Are we there yet?</p>
<p>Yes, now is the time to deploy containers. But we’ll cover that in a subsequent blog!</p>
<p>Just to recap on what is needed to get started with Oracle Container Cloud Service …</p>
<ol>
<li>Register for Oracle Cloud trial</li>
<li>Login to main Oracle Cloud Dashboard</li>
<li>Create a Oracle Container Cloud Service Instance</li>
<li>Oracle Container Cloud Service Instance Console</li>
<li>Container Console</li>
</ol>
<p>All the steps need to be done once but a console inside a console inside a dashboard feels like Inception. The good thing is that the IP address of Container Console is a public IP address served by Oracle Cloud and can be used from anywhere.</p>
<p>Oracle Container Cloud Service Docs have lot more details about building and deploying applications using this Console.</p>
<p>In the next blog, we’ll see what it takes to run a Couchbase container using this console? Possibly a cluster of Couchbase across multiple hosts?</p>
<p>Want to learn more about running Couchbase in containers?</p>
<ul>
<li>Couchbase on Containers</li>
<li>Couchbase Forums</li>
<li>Couchbase Developer Portal</li>
<li>@couchhasedev and @couchbase</li>
</ul>
<p>Source: https://blog.couchbase.com/2017/february/getting-started-oracle-container-cloud-service</p>
</div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="getting-started-oracle-container-cloud-service/#comments">View all 8 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
</article><!-- #post -->
<article class="post-14596 post type-post status-publish format-standard hentry category-containers category-couchbase category-wildfly tag-couchbase tag-javaee tag-microservice tag-wildfly" id="post-14596">
<header class="entry-header">
<h1 class="entry-title">
<a href="microservice-docker-stack-deploy-wildfly-javaee-couchbase/" rel="bookmark">Microservice using Docker stack deploy - WildFly, Java EE and Couchbase</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="microservice-docker-stack-deploy-wildfly-javaee-couchbase/" rel="bookmark" title="Permalink to Microservice using Docker stack deploy – WildFly, Java EE and Couchbase"><time class="entry-date" datetime="2017-02-03T10:48:01+00:00">February 3, 2017</time></a></span><span class="categories-links"><a href="topics/containers/" rel="category tag">containers</a>, <a href="topics/couchbase/" rel="category tag">couchbase</a>, <a href="topics/redhat/wildfly/" rel="category tag">wildfly</a></span><span class="tags-links"><a href="tag/couchbase/" rel="tag">couchbase</a>, <a href="tag/javaee/" rel="tag">javaee</a>, <a href="tag/microservice/" rel="tag">microservice</a>, <a href="tag/wildfly/" rel="tag">wildfly</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p>There is plenty of material on microservices, just <a href="http://lmgtfy.com/?q=microservices">google it</a>! I gave a presentation on refactoring monolith to microservices at Devoxx Belgium a couple of years back and it has good reviews:</p>
<p><iframe allowfullscreen="allowfullscreen" frameborder="0" height="480" src="https://www.youtube.com/embed/iJVW7v8O9BU" width="853"></iframe></p>
<p>This blog will show how Docker simplifies creation and shutting down of a microservice.</p>
<p>All code used in this blog is at github.com/arun-gupta/couchbase-javaee.</p>
<h2>Microservice Definition using Compose</h2>
<p>Docker 1.13 introduced a v3 of Docker Compose. The changes in the syntax are minimal but the key difference is addition of deploy attribute. This attribute allows to specify replicas, rolling update and restart policy for the container.</p>
<p>Our microservice will start a WldFly application server with a Java EE application pre-deployed. This application will talk to a Couchbase database to CRUD application data.</p>
<p>Here is the Compose definition:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b2480947328475" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
version: '3'
services:
  web:
    image: arungupta/couchbase-javaee:travel
    environment:
      - COUCHBASE_URI=db
    ports:
      - 8080:8080
      - 9990:9990
    depends_on:
      - db
  db:
    image: arungupta/couchbase:travel
    ports:
      - 8091:8091
      - 8092:8092 
      - 8093:8093 
      - 11210:11210
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b2480947328475-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b2480947328475-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b2480947328475-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b2480947328475-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b2480947328475-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b2480947328475-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b2480947328475-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b2480947328475-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b2480947328475-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b2480947328475-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b2480947328475-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b2480947328475-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b2480947328475-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b2480947328475-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b2480947328475-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b2480947328475-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b2480947328475-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b2480947328475-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b2480947328475-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b2480947328475-20">20</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b2480947328475-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b2480947328475-2"><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">'3'</span></div><div class="crayon-line" id="crayon-5cfd1e54b2480947328475-3"><span class="crayon-v">services</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b2480947328475-4"><span class="crayon-h">  </span><span class="crayon-v">web</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b2480947328475-5"><span class="crayon-h">    </span><span class="crayon-v">image</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-v">javaee</span><span class="crayon-o">:</span><span class="crayon-e">travel</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b2480947328475-6"><span class="crayon-e">    </span><span class="crayon-v">environment</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b2480947328475-7"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">COUCHBASE_URI</span><span class="crayon-o">=</span><span class="crayon-e">db</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b2480947328475-8"><span class="crayon-e">    </span><span class="crayon-v">ports</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b2480947328475-9"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">8080</span><span class="crayon-o">:</span><span class="crayon-cn">8080</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b2480947328475-10"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">9990</span><span class="crayon-o">:</span><span class="crayon-cn">9990</span></div><div class="crayon-line" id="crayon-5cfd1e54b2480947328475-11"><span class="crayon-h">    </span><span class="crayon-v">depends_on</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b2480947328475-12"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-e">db</span></div><div class="crayon-line" id="crayon-5cfd1e54b2480947328475-13"><span class="crayon-e">  </span><span class="crayon-v">db</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b2480947328475-14"><span class="crayon-h">    </span><span class="crayon-v">image</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">:</span><span class="crayon-e">travel</span></div><div class="crayon-line" id="crayon-5cfd1e54b2480947328475-15"><span class="crayon-e">    </span><span class="crayon-v">ports</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b2480947328475-16"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">8091</span><span class="crayon-o">:</span><span class="crayon-cn">8091</span></div><div class="crayon-line" id="crayon-5cfd1e54b2480947328475-17"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">8092</span><span class="crayon-o">:</span><span class="crayon-cn">8092</span><span class="crayon-h"> </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b2480947328475-18"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">8093</span><span class="crayon-o">:</span><span class="crayon-cn">8093</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54b2480947328475-19"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">11210</span><span class="crayon-o">:</span><span class="crayon-cn">11210</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b2480947328475-20"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0031 seconds] -->
<p>
In this Compose file:</p>
<ol>
<li>Two services in this Compose are defined by the name <code>db</code> and <code>web</code> attributes</li>
<li>Image name for each service defined using <code>image</code> attribute</li>
<li>The <code>arungupta/couchbase:travel</code> image starts Couchbase server, configures it using Couchbase REST API, and loads <code>travel-sample</code> bucket with ~32k JSON documents.</li>
<li>The <code>arungupta/couchbase-javaee:travel</code> image starts WildFly and deploys application WAR file built from https://github.com/arun-gupta/couchbase-javaee. Clone that project if you want to build your own image.</li>
<li><code>envrionment</code> attribute defines environment variables accessible by the application deployed in WildFly. <code>COUCHBASE_URI</code> refers to the database service. This is used in the application code as shown at https://github.com/arun-gupta/couchbase-javaee/blob/master/src/main/java/org/couchbase/sample/javaee/Database.java.</li>
<li>Port forwarding is achieved using <code>ports</code> attribute</li>
<li>
<div>
<p><code>depends_on</code> attribute in Compose definition file ensures the container start up order. But application-level start up needs to be ensured by the applications running inside container. In our case, WildFly starts up rather quickly but takes a few seconds for the database to start up. This means the Java EE application deployed in WildFly is not able to communicate with the database. This outlines a best practice when building micro services applications: you must code defensively and ensure in your application initialization that the micro services you depend on have started, without assuming startup order. This is shown in the database initialization code at https://github.com/arun-gupta/couchbase-javaee/blob/master/src/main/java/org/couchbase/sample/javaee/Database.java. It performs the following checks:</p>
<ol>
<li>Bucket exists</li>
<li>Query service of Couchbase is up and running</li>
<li>Sample bucket is fully loaded</li>
</ol>
</div>
</li>
</ol>
<p>This application can be started using <code>docker-compose up -d</code> command on a single host. Or a cluster of Docker engines in swarm-mode using <code>docker stack deploy</code> command.</p>
<h2>Setup Docker Swarm-mode</h2>
<p>Initialize Swarm mode using the following command:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b249a632069175" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker swarm init
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b249a632069175-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b249a632069175-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b249a632069175-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b249a632069175-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b249a632069175-2"><span class="crayon-e">docker </span><span class="crayon-e">swarm </span><span class="crayon-i">init</span></div><div class="crayon-line" id="crayon-5cfd1e54b249a632069175-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0003 seconds] -->
<p>
<div>
<p>This starts a Swarm Manager. By default, manager node are also worker but can be configured to be manager-only.</p>
</div>
<div>
<p>Find some information about this one-node cluster using the command <code>docker info</code> command:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b24a8993513278" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 17
Server Version: 1.13.0
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host ipvlan macvlan null overlay
Swarm: active
 NodeID: 92mydh0e09ba5hx3wtmcmvktz
 Is Manager: true
 ClusterID: v68ikyaff7rdxpaw1j0c9i60s
 Managers: 1
 Nodes: 1
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
 Node Address: 192.168.65.2
 Manager Addresses:
  192.168.65.2:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 03e5862ec0d8d3b3f750e19fca3ee367e13c090e
runc version: 2f7393a47307a16f8cee44a37b262e8b81021e3e
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.9.5-moby
Operating System: Alpine Linux v3.5
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 1.952 GiB
Name: moby
ID: SGCM:KDRD:G3M7:PZHN:J4RL:VFFR:G2SR:EKD5:JV4J:RL3X:LF7T:XF6V
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 31
 Goroutines: 124
 System Time: 2017-01-27T08:25:58.032295342Z
 EventsListeners: 1
No Proxy: *.local, 169.254/16
Username: arungupta
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-26">26</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-28">28</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-29">29</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-30">30</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-31">31</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-32">32</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-33">33</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-34">34</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-35">35</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-36">36</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-37">37</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-38">38</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-39">39</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-40">40</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-41">41</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-42">42</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-43">43</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-44">44</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-45">45</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-46">46</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-47">47</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-48">48</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-49">49</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-50">50</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-51">51</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-52">52</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-53">53</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-54">54</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-55">55</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-56">56</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-57">57</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-58">58</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-59">59</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-60">60</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-61">61</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-62">62</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-63">63</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-64">64</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-65">65</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-66">66</div><div class="crayon-num" data-line="crayon-5cfd1e54b24a8993513278-67">67</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24a8993513278-68">68</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-2"><span class="crayon-v">Containers</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">0</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-3"><span class="crayon-h"> </span><span class="crayon-v">Running</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">0</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-4"><span class="crayon-h"> </span><span class="crayon-v">Paused</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">0</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-5"><span class="crayon-h"> </span><span class="crayon-v">Stopped</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">0</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-6"><span class="crayon-v">Images</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">17</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-7"><span class="crayon-e">Server </span><span class="crayon-v">Version</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1.13.0</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-8"><span class="crayon-e">Storage </span><span class="crayon-v">Driver</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">overlay2</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-9"><span class="crayon-e"> </span><span class="crayon-e">Backing </span><span class="crayon-v">Filesystem</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">extfs</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-10"><span class="crayon-e"> </span><span class="crayon-e">Supports </span><span class="crayon-v">d_type</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">true</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-11"><span class="crayon-h"> </span><span class="crayon-m">Native</span><span class="crayon-h"> </span><span class="crayon-e">Overlay </span><span class="crayon-v">Diff</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">true</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-12"><span class="crayon-e">Logging </span><span class="crayon-v">Driver</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">json</span><span class="crayon-o">-</span><span class="crayon-e">file</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-13"><span class="crayon-e">Cgroup </span><span class="crayon-v">Driver</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">cgroupfs</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-14"><span class="crayon-v">Plugins</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-15"><span class="crayon-h"> </span><span class="crayon-v">Volume</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">local</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-16"><span class="crayon-e"> </span><span class="crayon-v">Network</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">bridge </span><span class="crayon-e">host </span><span class="crayon-e">ipvlan </span><span class="crayon-e">macvlan </span><span class="crayon-t">null</span><span class="crayon-h"> </span><span class="crayon-e">overlay</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-17"><span class="crayon-v">Swarm</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">active</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-18"><span class="crayon-e"> </span><span class="crayon-v">NodeID</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">92mydh0e09ba5hx3wtmcmvktz</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-19"><span class="crayon-h"> </span><span class="crayon-st">Is</span><span class="crayon-h"> </span><span class="crayon-v">Manager</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">true</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-20"><span class="crayon-h"> </span><span class="crayon-v">ClusterID</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">v68ikyaff7rdxpaw1j0c9i60s</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-21"><span class="crayon-e"> </span><span class="crayon-v">Managers</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-22"><span class="crayon-h"> </span><span class="crayon-v">Nodes</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-23"><span class="crayon-h"> </span><span class="crayon-v">Orchestration</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-24"><span class="crayon-h">  </span><span class="crayon-e">Task </span><span class="crayon-e">History </span><span class="crayon-e">Retention </span><span class="crayon-v">Limit</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">5</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-25"><span class="crayon-h"> </span><span class="crayon-v">Raft</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-26"><span class="crayon-h">  </span><span class="crayon-e">Snapshot </span><span class="crayon-v">Interval</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">10000</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-27"><span class="crayon-h">  </span><span class="crayon-e">Number </span><span class="crayon-e">of </span><span class="crayon-e">Old </span><span class="crayon-e">Snapshots </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-v">Retain</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">0</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-28"><span class="crayon-h">  </span><span class="crayon-e">Heartbeat </span><span class="crayon-v">Tick</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-29"><span class="crayon-h">  </span><span class="crayon-e">Election </span><span class="crayon-v">Tick</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">3</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-30"><span class="crayon-h"> </span><span class="crayon-v">Dispatcher</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-31"><span class="crayon-h">  </span><span class="crayon-e">Heartbeat </span><span class="crayon-v">Period</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">5</span><span class="crayon-h"> </span><span class="crayon-e">seconds</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-32"><span class="crayon-e"> </span><span class="crayon-e">CA </span><span class="crayon-v">Configuration</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-33"><span class="crayon-h">  </span><span class="crayon-e">Expiry </span><span class="crayon-v">Duration</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">3</span><span class="crayon-h"> </span><span class="crayon-e">months</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-34"><span class="crayon-e"> </span><span class="crayon-e">Node </span><span class="crayon-v">Address</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">192.168.65.2</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-35"><span class="crayon-h"> </span><span class="crayon-e">Manager </span><span class="crayon-v">Addresses</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-36"><span class="crayon-h">  </span><span class="crayon-cn">192.168.65.2</span><span class="crayon-o">:</span><span class="crayon-cn">2377</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-37"><span class="crayon-v">Runtimes</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">runc</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-38"><span class="crayon-st">Default</span><span class="crayon-h"> </span><span class="crayon-v">Runtime</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">runc</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-39"><span class="crayon-e">Init </span><span class="crayon-v">Binary</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">docker</span><span class="crayon-o">-</span><span class="crayon-e">init</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-40"><span class="crayon-e">containerd </span><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">03e5862ec0d8d3b3f750e19fca3ee367e13c090e</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-41"><span class="crayon-e">runc </span><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">2f7393a47307a16f8cee44a37b262e8b81021e3e</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-42"><span class="crayon-e">init </span><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">949e6fa</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-43"><span class="crayon-e">Security </span><span class="crayon-v">Options</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-44"><span class="crayon-h"> </span><span class="crayon-e">seccomp</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-45"><span class="crayon-e">  </span><span class="crayon-v">Profile</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-st">default</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-46"><span class="crayon-e">Kernel </span><span class="crayon-v">Version</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">4.9.5</span><span class="crayon-o">-</span><span class="crayon-e">moby</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-47"><span class="crayon-e">Operating </span><span class="crayon-v">System</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">Alpine </span><span class="crayon-e">Linux </span><span class="crayon-v">v3</span><span class="crayon-sy">.</span><span class="crayon-cn">5</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-48"><span class="crayon-v">OSType</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">linux</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-49"><span class="crayon-v">Architecture</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">x86_64</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-50"><span class="crayon-v">CPUs</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">4</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-51"><span class="crayon-e">Total </span><span class="crayon-v">Memory</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1.952</span><span class="crayon-h"> </span><span class="crayon-e">GiB</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-52"><span class="crayon-v">Name</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">moby</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-53"><span class="crayon-v">ID</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">SGCM</span><span class="crayon-o">:</span><span class="crayon-v">KDRD</span><span class="crayon-o">:</span><span class="crayon-v">G3M7</span><span class="crayon-o">:</span><span class="crayon-v">PZHN</span><span class="crayon-o">:</span><span class="crayon-v">J4RL</span><span class="crayon-o">:</span><span class="crayon-v">VFFR</span><span class="crayon-o">:</span><span class="crayon-v">G2SR</span><span class="crayon-o">:</span><span class="crayon-v">EKD5</span><span class="crayon-o">:</span><span class="crayon-v">JV4J</span><span class="crayon-o">:</span><span class="crayon-v">RL3X</span><span class="crayon-o">:</span><span class="crayon-v">LF7T</span><span class="crayon-o">:</span><span class="crayon-e">XF6V</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-54"><span class="crayon-e">Docker </span><span class="crayon-e">Root </span><span class="crayon-v">Dir</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-t">var</span><span class="crayon-o">/</span><span class="crayon-v">lib</span><span class="crayon-o">/</span><span class="crayon-e">docker</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-55"><span class="crayon-e">Debug </span><span class="crayon-e">Mode</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-v">client</span><span class="crayon-sy">)</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-56"><span class="crayon-e">Debug </span><span class="crayon-e">Mode</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-v">server</span><span class="crayon-sy">)</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">true</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-57"><span class="crayon-h"> </span><span class="crayon-e">File </span><span class="crayon-v">Descriptors</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">31</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-58"><span class="crayon-h"> </span><span class="crayon-v">Goroutines</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">124</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-59"><span class="crayon-h"> </span><span class="crayon-e">System </span><span class="crayon-v">Time</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">2017</span><span class="crayon-o">-</span><span class="crayon-cn">01</span><span class="crayon-o">-</span><span class="crayon-cn">27T08</span><span class="crayon-o">:</span><span class="crayon-cn">25</span><span class="crayon-o">:</span><span class="crayon-cn">58.032295342Z</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-60"><span class="crayon-h"> </span><span class="crayon-v">EventsListeners</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-61"><span class="crayon-e">No </span><span class="crayon-v">Proxy</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-o">*</span><span class="crayon-sy">.</span><span class="crayon-v">local</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">169.254</span><span class="crayon-o">/</span><span class="crayon-cn">16</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-62"><span class="crayon-v">Username</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">arungupta</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-63"><span class="crayon-v">Registry</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">https</span><span class="crayon-o">:</span><span class="crayon-c">//index.docker.io/v1/</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-64"><span class="crayon-v">Experimental</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">true</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-65"><span class="crayon-e">Insecure </span><span class="crayon-v">Registries</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-66"><span class="crayon-h"> </span><span class="crayon-cn">127.0.0.0</span><span class="crayon-o">/</span><span class="crayon-cn">8</span></div><div class="crayon-line" id="crayon-5cfd1e54b24a8993513278-67"><span class="crayon-e">Live </span><span class="crayon-e">Restore </span><span class="crayon-v">Enabled</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24a8993513278-68"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0127 seconds] -->
<p>
This cluster has 1 node, and that is manager.</p>
<p>Alternatively, a multi-host cluster can be easily setup using Docker for AWS.</p>
<h2>Deploy Microservice</h2>
<p>The microservice can be started as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b24b9662115826" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker stack deploy --compose-file=docker-compose.yml webapp
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b24b9662115826-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24b9662115826-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b24b9662115826-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b24b9662115826-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24b9662115826-2"><span class="crayon-e">docker </span><span class="crayon-e">stack </span><span class="crayon-v">deploy</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">compose</span><span class="crayon-o">-</span><span class="crayon-v">file</span><span class="crayon-o">=</span><span class="crayon-v">docker</span><span class="crayon-o">-</span><span class="crayon-v">compose</span><span class="crayon-sy">.</span><span class="crayon-e">yml </span><span class="crayon-i">webapp</span></div><div class="crayon-line" id="crayon-5cfd1e54b24b9662115826-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0007 seconds] -->
<p>
This shows the output:</p>
</div>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b24c6317451768" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
Creating network webapp_default
Creating service webapp_web
Creating service webapp_db
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b24c6317451768-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24c6317451768-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b24c6317451768-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24c6317451768-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b24c6317451768-5">5</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b24c6317451768-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24c6317451768-2"><span class="crayon-e">Creating </span><span class="crayon-e">network </span><span class="crayon-e">webapp_default</span></div><div class="crayon-line" id="crayon-5cfd1e54b24c6317451768-3"><span class="crayon-e">Creating </span><span class="crayon-e">service </span><span class="crayon-e">webapp_web</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24c6317451768-4"><span class="crayon-e">Creating </span><span class="crayon-e">service </span><span class="crayon-v">webapp</span><span class="crayon-sy">_</span>db</div><div class="crayon-line" id="crayon-5cfd1e54b24c6317451768-5"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0006 seconds] -->
<div>
<p>WildFly and Couchbase services are started on this node. Each service has a single container. If the Swarm mode is enabled on multiple nodes then the containers will be distributed across multiple nodes.</p>
</div>
<div>
<p>A new overlay network is created. This allows multiple containers on different hosts to communicate with each other.</p>
</div>
<p>Verify that the WildFly and Couchbase services are running using <code>docker service ls</code>:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b24d5094136195" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
ID            NAME        MODE        REPLICAS  IMAGE
a9pkiziw3vgw  webapp_db   replicated  1/1       arungupta/couchbase:travel
hr5s6ue54kwj  webapp_web  replicated  1/1       arungupta/couchbase-javaee:travel
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b24d5094136195-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24d5094136195-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b24d5094136195-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24d5094136195-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b24d5094136195-5">5</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b24d5094136195-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24d5094136195-2"><span class="crayon-e">ID            </span><span class="crayon-e">NAME        </span><span class="crayon-e">MODE        </span><span class="crayon-e">REPLICAS  </span><span class="crayon-e">IMAGE</span></div><div class="crayon-line" id="crayon-5cfd1e54b24d5094136195-3"><span class="crayon-e">a9pkiziw3vgw  </span><span class="crayon-e">webapp_db   </span><span class="crayon-i">replicated</span><span class="crayon-h">  </span><span class="crayon-cn">1</span><span class="crayon-o">/</span><span class="crayon-cn">1</span><span class="crayon-h">       </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">:</span><span class="crayon-e">travel</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24d5094136195-4"><span class="crayon-e">hr5s6ue54kwj  </span><span class="crayon-e">webapp_web  </span><span class="crayon-i">replicated</span><span class="crayon-h">  </span><span class="crayon-cn">1</span><span class="crayon-o">/</span><span class="crayon-cn">1</span><span class="crayon-h">       </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-v">javaee</span><span class="crayon-o">:</span><span class="crayon-i">travel</span></div><div class="crayon-line" id="crayon-5cfd1e54b24d5094136195-5"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0014 seconds] -->
<p>
<div>
<p>Logs for the service can be seen using <code>docker service logs -f webapp_web</code>:</p>
</div>
<div>
<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b24ef908085892" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
webapp_web.1.wby0b04t7bap@moby    | =========================================================================
webapp_web.1.wby0b04t7bap@moby    |
webapp_web.1.wby0b04t7bap@moby    |   JBoss Bootstrap Environment
webapp_web.1.wby0b04t7bap@moby    |
webapp_web.1.wby0b04t7bap@moby    |   JBOSS_HOME: /opt/jboss/wildfly
webapp_web.1.wby0b04t7bap@moby    |
webapp_web.1.wby0b04t7bap@moby    |   JAVA: /usr/lib/jvm/java/bin/java
webapp_web.1.wby0b04t7bap@moby    |
webapp_web.1.wby0b04t7bap@moby    |   JAVA_OPTS:  -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true
webapp_web.1.wby0b04t7bap@moby    |
webapp_web.1.wby0b04t7bap@moby    | =========================================================================
. . .
webapp_web.1.wby0b04t7bap@moby    | 23:14:15,811 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 34) WFLYSRV0010: Deployed "airlines.war" (runtime-name : "airlines.war")
webapp_web.1.wby0b04t7bap@moby    | 23:14:16,076 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
webapp_web.1.wby0b04t7bap@moby    | 23:14:16,077 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
webapp_web.1.wby0b04t7bap@moby    | 23:14:16,077 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 10.1.0.Final (WildFly Core 2.2.0.Final) started in 98623ms - Started 443 of 691 services (404 services are lazy, passive or on-demand)
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b24ef908085892-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24ef908085892-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b24ef908085892-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24ef908085892-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b24ef908085892-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24ef908085892-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b24ef908085892-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24ef908085892-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b24ef908085892-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24ef908085892-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b24ef908085892-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24ef908085892-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b24ef908085892-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24ef908085892-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b24ef908085892-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24ef908085892-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b24ef908085892-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24ef908085892-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b24ef908085892-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24ef908085892-20">20</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b24ef908085892-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24ef908085892-2"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">=</span></div><div class="crayon-line" id="crayon-5cfd1e54b24ef908085892-3"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24ef908085892-4"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h">   </span><span class="crayon-e">JBoss </span><span class="crayon-e">Bootstrap </span><span class="crayon-e">Environment</span></div><div class="crayon-line" id="crayon-5cfd1e54b24ef908085892-5"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24ef908085892-6"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h">   </span><span class="crayon-v">JBOSS_HOME</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">opt</span><span class="crayon-o">/</span><span class="crayon-v">jboss</span><span class="crayon-o">/</span><span class="crayon-e">wildfly</span></div><div class="crayon-line" id="crayon-5cfd1e54b24ef908085892-7"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24ef908085892-8"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h">   </span><span class="crayon-v">JAVA</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">usr</span><span class="crayon-o">/</span><span class="crayon-v">lib</span><span class="crayon-o">/</span><span class="crayon-v">jvm</span><span class="crayon-o">/</span><span class="crayon-v">java</span><span class="crayon-o">/</span><span class="crayon-v">bin</span><span class="crayon-o">/</span><span class="crayon-e">java</span></div><div class="crayon-line" id="crayon-5cfd1e54b24ef908085892-9"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24ef908085892-10"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h">   </span><span class="crayon-v">JAVA_OPTS</span><span class="crayon-o">:</span><span class="crayon-h">  </span><span class="crayon-o">-</span><span class="crayon-v">server</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">Xms64m</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">Xmx512m</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">XX</span><span class="crayon-o">:</span><span class="crayon-v">MetaspaceSize</span><span class="crayon-o">=</span><span class="crayon-cn">96M</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">XX</span><span class="crayon-o">:</span><span class="crayon-v">MaxMetaspaceSize</span><span class="crayon-o">=</span><span class="crayon-cn">256m</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">Djava</span><span class="crayon-sy">.</span><span class="crayon-v">net</span><span class="crayon-sy">.</span><span class="crayon-v">preferIPv4Stack</span><span class="crayon-o">=</span><span class="crayon-t">true</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">Djboss</span><span class="crayon-sy">.</span><span class="crayon-v">modules</span><span class="crayon-sy">.</span><span class="crayon-v">system</span><span class="crayon-sy">.</span><span class="crayon-v">pkgs</span><span class="crayon-o">=</span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">jboss</span><span class="crayon-sy">.</span><span class="crayon-v">byteman</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">Djava</span><span class="crayon-sy">.</span><span class="crayon-v">awt</span><span class="crayon-sy">.</span><span class="crayon-v">headless</span><span class="crayon-o">=</span><span class="crayon-t">true</span></div><div class="crayon-line" id="crayon-5cfd1e54b24ef908085892-11"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24ef908085892-12"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">===</span><span class="crayon-o">=</span></div><div class="crayon-line" id="crayon-5cfd1e54b24ef908085892-13"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24ef908085892-14"><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b24ef908085892-15"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24ef908085892-16"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-cn">23</span><span class="crayon-o">:</span><span class="crayon-cn">14</span><span class="crayon-o">:</span><span class="crayon-cn">15</span><span class="crayon-sy">,</span><span class="crayon-cn">811</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">jboss</span><span class="crayon-sy">.</span><span class="crayon-st">as</span><span class="crayon-sy">.</span><span class="crayon-v">server</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">ServerService </span><span class="crayon-e">Thread </span><span class="crayon-v">Pool</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-h"> </span><span class="crayon-cn">34</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">WFLYSRV0010</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-i">Deployed</span><span class="crayon-h"> </span><span class="crayon-s">"airlines.war"</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-v">runtime</span><span class="crayon-o">-</span><span class="crayon-v">name</span><span class="crayon-h"> </span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"airlines.war"</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="crayon-5cfd1e54b24ef908085892-17"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-cn">23</span><span class="crayon-o">:</span><span class="crayon-cn">14</span><span class="crayon-o">:</span><span class="crayon-cn">16</span><span class="crayon-sy">,</span><span class="crayon-cn">076</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">jboss</span><span class="crayon-sy">.</span><span class="crayon-st">as</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">Controller </span><span class="crayon-e">Boot </span><span class="crayon-v">Thread</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">WFLYSRV0060</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">Http </span><span class="crayon-e">management </span><span class="crayon-t">interface</span><span class="crayon-h"> </span><span class="crayon-e">listening </span><span class="crayon-e">on </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//127.0.0.1:9990/management</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24ef908085892-18"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-cn">23</span><span class="crayon-o">:</span><span class="crayon-cn">14</span><span class="crayon-o">:</span><span class="crayon-cn">16</span><span class="crayon-sy">,</span><span class="crayon-cn">077</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">jboss</span><span class="crayon-sy">.</span><span class="crayon-st">as</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">Controller </span><span class="crayon-e">Boot </span><span class="crayon-v">Thread</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">WFLYSRV0051</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">Admin </span><span class="crayon-e">console </span><span class="crayon-e">listening </span><span class="crayon-e">on </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//127.0.0.1:9990</span></div><div class="crayon-line" id="crayon-5cfd1e54b24ef908085892-19"><span class="crayon-v">webapp_web</span><span class="crayon-sy">.</span><span class="crayon-cn">1.wby0b04t7bap</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-cn">23</span><span class="crayon-o">:</span><span class="crayon-cn">14</span><span class="crayon-o">:</span><span class="crayon-cn">16</span><span class="crayon-sy">,</span><span class="crayon-cn">077</span><span class="crayon-h"> </span><span class="crayon-i">INFO</span><span class="crayon-h">  </span><span class="crayon-sy">[</span><span class="crayon-v">org</span><span class="crayon-sy">.</span><span class="crayon-v">jboss</span><span class="crayon-sy">.</span><span class="crayon-st">as</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">Controller </span><span class="crayon-e">Boot </span><span class="crayon-v">Thread</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">WFLYSRV0025</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">WildFly </span><span class="crayon-i">Full</span><span class="crayon-h"> </span><span class="crayon-cn">10.1.0.Final</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">WildFly </span><span class="crayon-i">Core</span><span class="crayon-h"> </span><span class="crayon-cn">2.2.0.Final</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-e">started </span><span class="crayon-st">in</span><span class="crayon-h"> </span><span class="crayon-cn">98623ms</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-i">Started</span><span class="crayon-h"> </span><span class="crayon-cn">443</span><span class="crayon-h"> </span><span class="crayon-i">of</span><span class="crayon-h"> </span><span class="crayon-cn">691</span><span class="crayon-h"> </span><span class="crayon-e">services</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-cn">404</span><span class="crayon-h"> </span><span class="crayon-e">services </span><span class="crayon-e">are </span><span class="crayon-v">lazy</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-e">passive </span><span class="crayon-st">or</span><span class="crayon-h"> </span><span class="crayon-v">on</span><span class="crayon-o">-</span><span class="crayon-v">demand</span><span class="crayon-sy">)</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24ef908085892-20"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0144 seconds] -->
Make sure to wait for the last log statement to show.</div></p>
</p></div>
<h2>Access Microservice</h2>
<p>Get 10 airlines from the microservice:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b24ff662140317" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
curl -v http://localhost:8080/airlines/resources/airline
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b24ff662140317-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b24ff662140317-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b24ff662140317-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b24ff662140317-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b24ff662140317-2"><span class="crayon-v">curl</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">v</span><span class="crayon-h"> </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//localhost:8080/airlines/resources/airline</span></div><div class="crayon-line" id="crayon-5cfd1e54b24ff662140317-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0006 seconds] -->
<p>
This shows the results as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b250d867214071" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
*   Trying ::1...
* Connected to localhost (::1) port 8080 (#0)
&gt; GET /airlines/resources/airline HTTP/1.1
&gt; Host: localhost:8080
&gt; User-Agent: curl/7.43.0
&gt; Accept: */*
&gt; 
&lt; HTTP/1.1 200 OK
&lt; Connection: keep-alive
&lt; X-Powered-By: Undertow/1
&lt; Server: WildFly/10
&lt; Content-Type: application/octet-stream
&lt; Content-Length: 1402
&lt; Date: Fri, 03 Feb 2017 17:02:45 GMT
&lt; 
* Connection #0 to host localhost left intact
[{"travel-sample":{"country":"United States","iata":"Q5","callsign":"MILE-AIR","name":"40-Mile Air","icao":"MLA","id":10,"type":"airline"}}, {"travel-sample":{"country":"United States","iata":"TQ","callsign":"TXW","name":"Texas Wings","icao":"TXW","id":10123,"type":"airline"}}, {"travel-sample":{"country":"United States","iata":"A1","callsign":"atifly","name":"Atifly","icao":"A1F","id":10226,"type":"airline"}}, {"travel-sample":{"country":"United Kingdom","iata":null,"callsign":null,"name":"Jc royal.britannica","icao":"JRB","id":10642,"type":"airline"}}, {"travel-sample":{"country":"United States","iata":"ZQ","callsign":"LOCAIR","name":"Locair","icao":"LOC","id":10748,"type":"airline"}}, {"travel-sample":{"country":"United States","iata":"K5","callsign":"SASQUATCH","name":"SeaPort Airlines","icao":"SQH","id":10765,"type":"airline"}}, {"travel-sample":{"country":"United States","iata":"KO","callsign":"ACE AIR","name":"Alaska Central Express","icao":"AER","id":109,"type":"airline"}}, {"travel-sample":{"country":"United Kingdom","iata":"5W","callsign":"FLYSTAR","name":"Astraeus","icao":"AEU","id":112,"type":"airline"}}, {"travel-sample":{"country":"France","iata":"UU","callsign":"REUNION","name":"Air Austral","icao":"REU","id":1191,"type":"airline"}}, {"travel-sample":{"country":"France","iata":"A5","callsign":"AIRLINAIR","name":"Airlinair","icao":"RLA","id":1203,"type":"airline"}}]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b250d867214071-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b250d867214071-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b250d867214071-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b250d867214071-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b250d867214071-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b250d867214071-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b250d867214071-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b250d867214071-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b250d867214071-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b250d867214071-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b250d867214071-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b250d867214071-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b250d867214071-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b250d867214071-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b250d867214071-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b250d867214071-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b250d867214071-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b250d867214071-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b250d867214071-19">19</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b250d867214071-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b250d867214071-2"><span class="crayon-o">*</span><span class="crayon-h">   </span><span class="crayon-v">Trying</span><span class="crayon-h"> </span><span class="crayon-o">::</span><span class="crayon-cn">1...</span></div><div class="crayon-line" id="crayon-5cfd1e54b250d867214071-3"><span class="crayon-o">*</span><span class="crayon-h"> </span><span class="crayon-e">Connected </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">localhost</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-o">::</span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-i">port</span><span class="crayon-h"> </span><span class="crayon-cn">8080</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-p">#0)</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b250d867214071-4"><span class="crayon-o">&gt;</span><span class="crayon-h"> </span><span class="crayon-v">GET</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">airlines</span><span class="crayon-o">/</span><span class="crayon-v">resources</span><span class="crayon-o">/</span><span class="crayon-e">airline </span><span class="crayon-v">HTTP</span><span class="crayon-o">/</span><span class="crayon-cn">1.1</span></div><div class="crayon-line" id="crayon-5cfd1e54b250d867214071-5"><span class="crayon-o">&gt;</span><span class="crayon-h"> </span><span class="crayon-v">Host</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">localhost</span><span class="crayon-o">:</span><span class="crayon-cn">8080</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b250d867214071-6"><span class="crayon-o">&gt;</span><span class="crayon-h"> </span><span class="crayon-v">User</span><span class="crayon-o">-</span><span class="crayon-v">Agent</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">curl</span><span class="crayon-o">/</span><span class="crayon-cn">7.43.0</span></div><div class="crayon-line" id="crayon-5cfd1e54b250d867214071-7"><span class="crayon-o">&gt;</span><span class="crayon-h"> </span><span class="crayon-v">Accept</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-o">*</span><span class="crayon-o">/</span><span class="crayon-o">*</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b250d867214071-8"><span class="crayon-o">&gt;</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54b250d867214071-9"><span class="crayon-o">&lt;</span><span class="crayon-h"> </span><span class="crayon-v">HTTP</span><span class="crayon-o">/</span><span class="crayon-cn">1.1</span><span class="crayon-h"> </span><span class="crayon-cn">200</span><span class="crayon-h"> </span><span class="crayon-v">OK</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b250d867214071-10"><span class="crayon-o">&lt;</span><span class="crayon-h"> </span><span class="crayon-v">Connection</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">keep</span><span class="crayon-o">-</span><span class="crayon-v">alive</span></div><div class="crayon-line" id="crayon-5cfd1e54b250d867214071-11"><span class="crayon-o">&lt;</span><span class="crayon-h"> </span><span class="crayon-v">X</span><span class="crayon-o">-</span><span class="crayon-v">Powered</span><span class="crayon-o">-</span><span class="crayon-v">By</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">Undertow</span><span class="crayon-o">/</span><span class="crayon-cn">1</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b250d867214071-12"><span class="crayon-o">&lt;</span><span class="crayon-h"> </span><span class="crayon-v">Server</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">WildFly</span><span class="crayon-o">/</span><span class="crayon-cn">10</span></div><div class="crayon-line" id="crayon-5cfd1e54b250d867214071-13"><span class="crayon-o">&lt;</span><span class="crayon-h"> </span><span class="crayon-v">Content</span><span class="crayon-o">-</span><span class="crayon-v">Type</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">application</span><span class="crayon-o">/</span><span class="crayon-v">octet</span><span class="crayon-o">-</span><span class="crayon-v">stream</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b250d867214071-14"><span class="crayon-o">&lt;</span><span class="crayon-h"> </span><span class="crayon-v">Content</span><span class="crayon-o">-</span><span class="crayon-v">Length</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1402</span></div><div class="crayon-line" id="crayon-5cfd1e54b250d867214071-15"><span class="crayon-o">&lt;</span><span class="crayon-h"> </span><span class="crayon-v">Date</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">Fri</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">03</span><span class="crayon-h"> </span><span class="crayon-i">Feb</span><span class="crayon-h"> </span><span class="crayon-cn">2017</span><span class="crayon-h"> </span><span class="crayon-cn">17</span><span class="crayon-o">:</span><span class="crayon-cn">02</span><span class="crayon-o">:</span><span class="crayon-cn">45</span><span class="crayon-h"> </span><span class="crayon-e">GMT</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b250d867214071-16"><span class="crayon-o">&lt;</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54b250d867214071-17"><span class="crayon-o">*</span><span class="crayon-h"> </span><span class="crayon-e">Connection</span><span class="crayon-h"> </span><span class="crayon-p">#0 to host localhost left intact</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b250d867214071-18"><span class="crayon-sy">[</span><span class="crayon-sy">{</span><span class="crayon-s">"travel-sample"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-s">"country"</span><span class="crayon-o">:</span><span class="crayon-s">"United States"</span><span class="crayon-sy">,</span><span class="crayon-s">"iata"</span><span class="crayon-o">:</span><span class="crayon-s">"Q5"</span><span class="crayon-sy">,</span><span class="crayon-s">"callsign"</span><span class="crayon-o">:</span><span class="crayon-s">"MILE-AIR"</span><span class="crayon-sy">,</span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-s">"40-Mile Air"</span><span class="crayon-sy">,</span><span class="crayon-s">"icao"</span><span class="crayon-o">:</span><span class="crayon-s">"MLA"</span><span class="crayon-sy">,</span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-cn">10</span><span class="crayon-sy">,</span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-s">"airline"</span><span class="crayon-sy">}</span><span class="crayon-sy">}</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-s">"travel-sample"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-s">"country"</span><span class="crayon-o">:</span><span class="crayon-s">"United States"</span><span class="crayon-sy">,</span><span class="crayon-s">"iata"</span><span class="crayon-o">:</span><span class="crayon-s">"TQ"</span><span class="crayon-sy">,</span><span class="crayon-s">"callsign"</span><span class="crayon-o">:</span><span class="crayon-s">"TXW"</span><span class="crayon-sy">,</span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-s">"Texas Wings"</span><span class="crayon-sy">,</span><span class="crayon-s">"icao"</span><span class="crayon-o">:</span><span class="crayon-s">"TXW"</span><span class="crayon-sy">,</span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-cn">10123</span><span class="crayon-sy">,</span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-s">"airline"</span><span class="crayon-sy">}</span><span class="crayon-sy">}</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-s">"travel-sample"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-s">"country"</span><span class="crayon-o">:</span><span class="crayon-s">"United States"</span><span class="crayon-sy">,</span><span class="crayon-s">"iata"</span><span class="crayon-o">:</span><span class="crayon-s">"A1"</span><span class="crayon-sy">,</span><span class="crayon-s">"callsign"</span><span class="crayon-o">:</span><span class="crayon-s">"atifly"</span><span class="crayon-sy">,</span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-s">"Atifly"</span><span class="crayon-sy">,</span><span class="crayon-s">"icao"</span><span class="crayon-o">:</span><span class="crayon-s">"A1F"</span><span class="crayon-sy">,</span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-cn">10226</span><span class="crayon-sy">,</span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-s">"airline"</span><span class="crayon-sy">}</span><span class="crayon-sy">}</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-s">"travel-sample"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-s">"country"</span><span class="crayon-o">:</span><span class="crayon-s">"United Kingdom"</span><span class="crayon-sy">,</span><span class="crayon-s">"iata"</span><span class="crayon-o">:</span><span class="crayon-t">null</span><span class="crayon-sy">,</span><span class="crayon-s">"callsign"</span><span class="crayon-o">:</span><span class="crayon-t">null</span><span class="crayon-sy">,</span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-s">"Jc royal.britannica"</span><span class="crayon-sy">,</span><span class="crayon-s">"icao"</span><span class="crayon-o">:</span><span class="crayon-s">"JRB"</span><span class="crayon-sy">,</span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-cn">10642</span><span class="crayon-sy">,</span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-s">"airline"</span><span class="crayon-sy">}</span><span class="crayon-sy">}</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-s">"travel-sample"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-s">"country"</span><span class="crayon-o">:</span><span class="crayon-s">"United States"</span><span class="crayon-sy">,</span><span class="crayon-s">"iata"</span><span class="crayon-o">:</span><span class="crayon-s">"ZQ"</span><span class="crayon-sy">,</span><span class="crayon-s">"callsign"</span><span class="crayon-o">:</span><span class="crayon-s">"LOCAIR"</span><span class="crayon-sy">,</span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-s">"Locair"</span><span class="crayon-sy">,</span><span class="crayon-s">"icao"</span><span class="crayon-o">:</span><span class="crayon-s">"LOC"</span><span class="crayon-sy">,</span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-cn">10748</span><span class="crayon-sy">,</span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-s">"airline"</span><span class="crayon-sy">}</span><span class="crayon-sy">}</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-s">"travel-sample"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-s">"country"</span><span class="crayon-o">:</span><span class="crayon-s">"United States"</span><span class="crayon-sy">,</span><span class="crayon-s">"iata"</span><span class="crayon-o">:</span><span class="crayon-s">"K5"</span><span class="crayon-sy">,</span><span class="crayon-s">"callsign"</span><span class="crayon-o">:</span><span class="crayon-s">"SASQUATCH"</span><span class="crayon-sy">,</span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-s">"SeaPort Airlines"</span><span class="crayon-sy">,</span><span class="crayon-s">"icao"</span><span class="crayon-o">:</span><span class="crayon-s">"SQH"</span><span class="crayon-sy">,</span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-cn">10765</span><span class="crayon-sy">,</span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-s">"airline"</span><span class="crayon-sy">}</span><span class="crayon-sy">}</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-s">"travel-sample"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-s">"country"</span><span class="crayon-o">:</span><span class="crayon-s">"United States"</span><span class="crayon-sy">,</span><span class="crayon-s">"iata"</span><span class="crayon-o">:</span><span class="crayon-s">"KO"</span><span class="crayon-sy">,</span><span class="crayon-s">"callsign"</span><span class="crayon-o">:</span><span class="crayon-s">"ACE AIR"</span><span class="crayon-sy">,</span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-s">"Alaska Central Express"</span><span class="crayon-sy">,</span><span class="crayon-s">"icao"</span><span class="crayon-o">:</span><span class="crayon-s">"AER"</span><span class="crayon-sy">,</span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-cn">109</span><span class="crayon-sy">,</span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-s">"airline"</span><span class="crayon-sy">}</span><span class="crayon-sy">}</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-s">"travel-sample"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-s">"country"</span><span class="crayon-o">:</span><span class="crayon-s">"United Kingdom"</span><span class="crayon-sy">,</span><span class="crayon-s">"iata"</span><span class="crayon-o">:</span><span class="crayon-s">"5W"</span><span class="crayon-sy">,</span><span class="crayon-s">"callsign"</span><span class="crayon-o">:</span><span class="crayon-s">"FLYSTAR"</span><span class="crayon-sy">,</span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-s">"Astraeus"</span><span class="crayon-sy">,</span><span class="crayon-s">"icao"</span><span class="crayon-o">:</span><span class="crayon-s">"AEU"</span><span class="crayon-sy">,</span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-cn">112</span><span class="crayon-sy">,</span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-s">"airline"</span><span class="crayon-sy">}</span><span class="crayon-sy">}</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-s">"travel-sample"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-s">"country"</span><span class="crayon-o">:</span><span class="crayon-s">"France"</span><span class="crayon-sy">,</span><span class="crayon-s">"iata"</span><span class="crayon-o">:</span><span class="crayon-s">"UU"</span><span class="crayon-sy">,</span><span class="crayon-s">"callsign"</span><span class="crayon-o">:</span><span class="crayon-s">"REUNION"</span><span class="crayon-sy">,</span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-s">"Air Austral"</span><span class="crayon-sy">,</span><span class="crayon-s">"icao"</span><span class="crayon-o">:</span><span class="crayon-s">"REU"</span><span class="crayon-sy">,</span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-cn">1191</span><span class="crayon-sy">,</span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-s">"airline"</span><span class="crayon-sy">}</span><span class="crayon-sy">}</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-s">"travel-sample"</span><span class="crayon-o">:</span><span class="crayon-sy">{</span><span class="crayon-s">"country"</span><span class="crayon-o">:</span><span class="crayon-s">"France"</span><span class="crayon-sy">,</span><span class="crayon-s">"iata"</span><span class="crayon-o">:</span><span class="crayon-s">"A5"</span><span class="crayon-sy">,</span><span class="crayon-s">"callsign"</span><span class="crayon-o">:</span><span class="crayon-s">"AIRLINAIR"</span><span class="crayon-sy">,</span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-s">"Airlinair"</span><span class="crayon-sy">,</span><span class="crayon-s">"icao"</span><span class="crayon-o">:</span><span class="crayon-s">"RLA"</span><span class="crayon-sy">,</span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-cn">1203</span><span class="crayon-sy">,</span><span class="crayon-s">"type"</span><span class="crayon-o">:</span><span class="crayon-s">"airline"</span><span class="crayon-sy">}</span><span class="crayon-sy">}</span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54b250d867214071-19"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0149 seconds] -->
<p>
<a href="https://github.com/docker/labs/tree/master/developer-tools/java">Docker for Java Developers workshop</a> is a self-paced hands-on lab and allows you to get started with Docker easily.</p>
<p>Get a single resource:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b251e083925061" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
curl -v http://localhost:8080/airlines/resources/airline/137
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b251e083925061-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b251e083925061-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b251e083925061-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b251e083925061-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b251e083925061-2"><span class="crayon-v">curl</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">v</span><span class="crayon-h"> </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//localhost:8080/airlines/resources/airline/137</span></div><div class="crayon-line" id="crayon-5cfd1e54b251e083925061-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0006 seconds] -->
<p>
Create a new resource:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b252b794757372" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
curl -v -H "Content-Type: application/json" -X POST -d '{"country":"France","iata":"A5","callsign":"AIRLINAIR","name":"Airlinair","icao":"RLA","type":"airline"}' http://localhost:8080/airlines/resources/airline
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b252b794757372-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b252b794757372-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b252b794757372-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b252b794757372-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b252b794757372-2"><span class="crayon-v">curl</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">v</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">H</span><span class="crayon-h"> </span><span class="crayon-s">"Content-Type: application/json"</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">X</span><span class="crayon-h"> </span><span class="crayon-v">POST</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">d</span><span class="crayon-h"> </span><span class="crayon-s">'{"country":"France","iata":"A5","callsign":"AIRLINAIR","name":"Airlinair","icao":"RLA","type":"airline"}'</span><span class="crayon-h"> </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//localhost:8080/airlines/resources/airline</span></div><div class="crayon-line" id="crayon-5cfd1e54b252b794757372-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0011 seconds] -->
<p>
Update a resource:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b2539410838770" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
curl -v -H "Content-Type: application/json" -X PUT -d '{"country":"France","iata":"A5","callsign":"AIRLINAIR","name":"Airlin Air","icao":"RLA","type":"airline","id": "19810"}' http://localhost:8080/airlines/resources/airline/19810
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b2539410838770-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b2539410838770-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b2539410838770-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b2539410838770-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b2539410838770-2"><span class="crayon-v">curl</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">v</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">H</span><span class="crayon-h"> </span><span class="crayon-s">"Content-Type: application/json"</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">X</span><span class="crayon-h"> </span><span class="crayon-v">PUT</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">d</span><span class="crayon-h"> </span><span class="crayon-s">'{"country":"France","iata":"A5","callsign":"AIRLINAIR","name":"Airlin Air","icao":"RLA","type":"airline","id": "19810"}'</span><span class="crayon-h"> </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//localhost:8080/airlines/resources/airline/19810</span></div><div class="crayon-line" id="crayon-5cfd1e54b2539410838770-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0012 seconds] -->
<p>
Delete a resource:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b2547119779711" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
curl -v -X DELETE http://localhost:8080/airlines/resources/airline/19810
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b2547119779711-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b2547119779711-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b2547119779711-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b2547119779711-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b2547119779711-2"><span class="crayon-v">curl</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">v</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">X</span><span class="crayon-h"> </span><span class="crayon-e">DELETE </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//localhost:8080/airlines/resources/airline/19810</span></div><div class="crayon-line" id="crayon-5cfd1e54b2547119779711-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0007 seconds] -->
<p>
Detailed output from each of these commands is at github.com/arun-gupta/couchbase-javaee.</p>
<h2>Delete Microservice</h2>
<p>The microservice can be removed using  the command <span class="s1"><code>docker stack rm webapp</code>:</span></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b2555737756772" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
Removing service webapp_web
Removing service webapp_db
Removing network webapp_default
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b2555737756772-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b2555737756772-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b2555737756772-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b2555737756772-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b2555737756772-5">5</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b2555737756772-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b2555737756772-2"><span class="crayon-e">Removing </span><span class="crayon-e">service </span><span class="crayon-e">webapp_web</span></div><div class="crayon-line" id="crayon-5cfd1e54b2555737756772-3"><span class="crayon-e">Removing </span><span class="crayon-e">service </span><span class="crayon-e">webapp_db</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b2555737756772-4"><span class="crayon-e">Removing </span><span class="crayon-e">network </span><span class="crayon-v">webapp</span><span class="crayon-sy">_</span>default</div><div class="crayon-line" id="crayon-5cfd1e54b2555737756772-5"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0008 seconds] -->
<p>
Want to get started with Couchbase? Look at Couchbase Starter Kits.</p>
<p>Want to learn more about running Couchbase in containers?</p>
<ul>
<li>Couchbase on Containers</li>
<li>Couchbase Forums</li>
<li>Couchbase Developer Portal</li>
<li>@couchhasedev and @couchbase</li>
</ul>
<p>Source: https://blog.couchbase.com/2017/february/microservice-using-docker-stack-deploy-wildfly-javaee-couchbase</p>
</article></div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="microservice-docker-stack-deploy-wildfly-javaee-couchbase/#comments">View all 5 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
<!-- #post -->
<article class="post-14585 post type-post status-publish format-standard hentry category-containers category-couchbase category-techtip tag-compose tag-couchbase tag-docker tag-service" id="post-14585">
<header class="entry-header">
<h1 class="entry-title">
<a href="deploy-docker-compose-services-swarm/" rel="bookmark">Deploy Docker Compose Services to Swarm</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="deploy-docker-compose-services-swarm/" rel="bookmark" title="Permalink to Deploy Docker Compose Services to Swarm"><time class="entry-date" datetime="2017-01-22T18:36:21+00:00">January 22, 2017</time></a></span><span class="categories-links"><a href="topics/containers/" rel="category tag">containers</a>, <a href="topics/couchbase/" rel="category tag">couchbase</a>, <a href="topics/techtip/" rel="category tag">techtip</a></span><span class="tags-links"><a href="tag/compose/" rel="tag">compose</a>, <a href="tag/couchbase/" rel="tag">couchbase</a>, <a href="tag/docker/" rel="tag">docker</a>, <a href="tag/service/" rel="tag">service</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p>Docker 1.13 introduced a new version of Docker Compose. The main feature of this release is that it allow services defined using Docker Compose files to be directly deployed to Docker Engine enabled with Swarm mode. This enables simplified deployment of multi-container application on multi-host.</p>
<p><a href="#"><img alt="Docker 1.13" class="alignnone size-large wp-image-14575" height="302" src="wp-content/uploads/2017/01/docker-1.13-1024x512.jpg" width="604"/></a></p>
<p>This blog will show use a simple Docker Compose file to show how services are created and deployed in Docker 1.13.</p>
<p>Here is a Docker Compose v2 definition for starting a Couchbase database node:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b381f598537557" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
version: "2"
services:
  db:
    image: arungupta/couchbase:latest
    ports:
      - 8091:8091
      - 8092:8092
      - 8093:8093
      - 11210:11210
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b381f598537557-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b381f598537557-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b381f598537557-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b381f598537557-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b381f598537557-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b381f598537557-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b381f598537557-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b381f598537557-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b381f598537557-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b381f598537557-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b381f598537557-11">11</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b381f598537557-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b381f598537557-2"><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"2"</span></div><div class="crayon-line" id="crayon-5cfd1e54b381f598537557-3"><span class="crayon-v">services</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b381f598537557-4"><span class="crayon-h">  </span><span class="crayon-v">db</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b381f598537557-5"><span class="crayon-h">    </span><span class="crayon-v">image</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">:</span><span class="crayon-e">latest</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b381f598537557-6"><span class="crayon-e">    </span><span class="crayon-v">ports</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b381f598537557-7"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">8091</span><span class="crayon-o">:</span><span class="crayon-cn">8091</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b381f598537557-8"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">8092</span><span class="crayon-o">:</span><span class="crayon-cn">8092</span></div><div class="crayon-line" id="crayon-5cfd1e54b381f598537557-9"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">8093</span><span class="crayon-o">:</span><span class="crayon-cn">8093</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b381f598537557-10"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">11210</span><span class="crayon-o">:</span><span class="crayon-cn">11210</span></div><div class="crayon-line" id="crayon-5cfd1e54b381f598537557-11"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0017 seconds] -->
<p>
This definition can be started on a Docker Engine without Swarm mode as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b3835676898942" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker-compose up
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b3835676898942-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b3835676898942-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b3835676898942-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b3835676898942-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b3835676898942-2"><span class="crayon-v">docker</span><span class="crayon-o">-</span><span class="crayon-e">compose </span><span class="crayon-i">up</span></div><div class="crayon-line" id="crayon-5cfd1e54b3835676898942-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0004 seconds] -->
<p>
This will start a single replica of the service define in the Compose file. This service can be scaled as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b3843792985213" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker-compose scale db=2
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b3843792985213-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b3843792985213-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b3843792985213-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b3843792985213-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b3843792985213-2"><span class="crayon-v">docker</span><span class="crayon-o">-</span><span class="crayon-e">compose </span><span class="crayon-e">scale </span><span class="crayon-v">db</span><span class="crayon-o">=</span><span class="crayon-cn">2</span></div><div class="crayon-line" id="crayon-5cfd1e54b3843792985213-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0005 seconds] -->
<p>
If the ports are not exposed then this would work fine on a single host. If swarm mode is enabled on on Docker Engine, then it shows the message:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b3851981445510" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
WARNING: The Docker Engine you're using is running in swarm mode.
Compose does not use swarm mode to deploy services to multiple nodes in a swarm. All containers will be scheduled on the current node.
To deploy your application across the swarm, use `docker stack deploy`.
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b3851981445510-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b3851981445510-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b3851981445510-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b3851981445510-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b3851981445510-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b3851981445510-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b3851981445510-7">7</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b3851981445510-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b3851981445510-2"><span class="crayon-v">WARNING</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-e">The </span><span class="crayon-e">Docker </span><span class="crayon-e">Engine </span><span class="crayon-i">you</span>'<span class="crayon-e">re </span><span class="crayon-e">using </span><span class="crayon-st">is</span><span class="crayon-h"> </span><span class="crayon-e">running </span><span class="crayon-st">in</span><span class="crayon-h"> </span><span class="crayon-e">swarm </span><span class="crayon-v">mode</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b3851981445510-3"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b3851981445510-4"><span class="crayon-e">Compose </span><span class="crayon-e">does </span><span class="crayon-st">not</span><span class="crayon-h"> </span><span class="crayon-st">use</span><span class="crayon-h"> </span><span class="crayon-e">swarm </span><span class="crayon-e">mode </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">deploy </span><span class="crayon-e">services </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-e">multiple </span><span class="crayon-e">nodes </span><span class="crayon-st">in</span><span class="crayon-h"> </span><span class="crayon-i">a</span><span class="crayon-h"> </span><span class="crayon-v">swarm</span><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-e">All </span><span class="crayon-e">containers </span><span class="crayon-e">will </span><span class="crayon-e">be </span><span class="crayon-e">scheduled </span><span class="crayon-e">on </span><span class="crayon-e">the </span><span class="crayon-e">current </span><span class="crayon-v">node</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b3851981445510-5"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b3851981445510-6"><span class="crayon-st">To</span><span class="crayon-h"> </span><span class="crayon-e">deploy </span><span class="crayon-e">your </span><span class="crayon-e">application </span><span class="crayon-e">across </span><span class="crayon-e">the </span><span class="crayon-v">swarm</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-st">use</span><span class="crayon-h"> </span><span class="crayon-sy">`</span><span class="crayon-e">docker </span><span class="crayon-e">stack </span><span class="crayon-v">deploy</span><span class="crayon-sy">`</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b3851981445510-7"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0024 seconds] -->
<p>
Docker Compose gives us multi-container applications but the applications are still restricted to a single host. And that is a single point of failure.</p>
<p>Swarm mode allows to create a cluster of Docker Engines. With 1.13, <code>docker stack deploy</code> command can be used to deploy a Compose file to Swarm mode.</p>
<p>Here is a Docker Compose v3 definition:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b3867221082773" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
version: "3"
services:
  db:
    image: arungupta/couchbase:latest
    ports:
      - 8091:8091
      - 8092:8092
      - 8093:8093
      - 11210:11210
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b3867221082773-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b3867221082773-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b3867221082773-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b3867221082773-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b3867221082773-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b3867221082773-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b3867221082773-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b3867221082773-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b3867221082773-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b3867221082773-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b3867221082773-11">11</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b3867221082773-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b3867221082773-2"><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"3"</span></div><div class="crayon-line" id="crayon-5cfd1e54b3867221082773-3"><span class="crayon-v">services</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b3867221082773-4"><span class="crayon-h">  </span><span class="crayon-v">db</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b3867221082773-5"><span class="crayon-h">    </span><span class="crayon-v">image</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">:</span><span class="crayon-e">latest</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b3867221082773-6"><span class="crayon-e">    </span><span class="crayon-v">ports</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b3867221082773-7"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">8091</span><span class="crayon-o">:</span><span class="crayon-cn">8091</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b3867221082773-8"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">8092</span><span class="crayon-o">:</span><span class="crayon-cn">8092</span></div><div class="crayon-line" id="crayon-5cfd1e54b3867221082773-9"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">8093</span><span class="crayon-o">:</span><span class="crayon-cn">8093</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b3867221082773-10"><span class="crayon-h">      </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-cn">11210</span><span class="crayon-o">:</span><span class="crayon-cn">11210</span></div><div class="crayon-line" id="crayon-5cfd1e54b3867221082773-11"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0017 seconds] -->
<p>
As you can see, the only change is the value of <code>version</code> attribute. There are other changes in Docker Compose v3. Also, read about different Docker Compose versions and how to upgrade from v2 to v3.</p>
<p>Enable swarm mode:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b3877431502316" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker swarm init
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b3877431502316-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b3877431502316-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b3877431502316-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b3877431502316-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b3877431502316-2"><span class="crayon-e">docker </span><span class="crayon-e">swarm </span><span class="crayon-i">init</span></div><div class="crayon-line" id="crayon-5cfd1e54b3877431502316-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0004 seconds] -->
<p>
Other nodes can join this swarm cluster and this would easily allow to deploy the multi-container application to a multi-host as well.</p>
<p>Deploy the services defined in Compose file as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b3885743713158" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker stack deploy --compose-file=docker-compose.yml couchbase
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b3885743713158-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b3885743713158-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b3885743713158-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b3885743713158-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b3885743713158-2"><span class="crayon-e">docker </span><span class="crayon-e">stack </span><span class="crayon-v">deploy</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-v">compose</span><span class="crayon-o">-</span><span class="crayon-v">file</span><span class="crayon-o">=</span><span class="crayon-v">docker</span><span class="crayon-o">-</span><span class="crayon-v">compose</span><span class="crayon-sy">.</span><span class="crayon-e">yml </span><span class="crayon-i">couchbase</span></div><div class="crayon-line" id="crayon-5cfd1e54b3885743713158-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0007 seconds] -->
<p>
A default value of Compose file here would make the command a bit shorter. #30352 should take care of that.</p>
<p>List of services running can be verified using <code>docker service ls</code> command:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b3893895285675" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
ID            NAME          MODE        REPLICAS  IMAGE
05wa4y2he9w5  couchbase_db  replicated  1/1       arungupta/couchbase:latest
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b3893895285675-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b3893895285675-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b3893895285675-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b3893895285675-4">4</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b3893895285675-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b3893895285675-2"><span class="crayon-e">ID            </span><span class="crayon-e">NAME          </span><span class="crayon-e">MODE        </span><span class="crayon-e">REPLICAS  </span><span class="crayon-i">IMAGE</span></div><div class="crayon-line" id="crayon-5cfd1e54b3893895285675-3"><span class="crayon-cn">05wa4y2he9w5</span><span class="crayon-h">  </span><span class="crayon-e">couchbase_db  </span><span class="crayon-i">replicated</span><span class="crayon-h">  </span><span class="crayon-cn">1</span><span class="crayon-o">/</span><span class="crayon-cn">1</span><span class="crayon-h">       </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">:</span><span class="crayon-i">latest</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b3893895285675-4"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0009 seconds] -->
<p>
The list of containers running within the service can be seen using <code>docker service ps</code> command:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b38a1461965976" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
ID            NAME            IMAGE                       NODE  DESIRED STATE  CURRENT STATE           ERROR  PORTS
rchu2uykeuuj  couchbase_db.1  arungupta/couchbase:latest  moby  Running        Running 52 seconds ago
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b38a1461965976-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38a1461965976-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b38a1461965976-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38a1461965976-4">4</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b38a1461965976-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38a1461965976-2"><span class="crayon-e">ID            </span><span class="crayon-e">NAME            </span><span class="crayon-e">IMAGE                       </span><span class="crayon-e">NODE  </span><span class="crayon-e">DESIRED </span><span class="crayon-e">STATE  </span><span class="crayon-e">CURRENT </span><span class="crayon-e">STATE           </span><span class="crayon-e">ERROR  </span><span class="crayon-e">PORTS</span></div><div class="crayon-line" id="crayon-5cfd1e54b38a1461965976-3"><span class="crayon-e">rchu2uykeuuj  </span><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">1</span><span class="crayon-h">  </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">:</span><span class="crayon-e">latest  </span><span class="crayon-e">moby  </span><span class="crayon-e">Running        </span><span class="crayon-i">Running</span><span class="crayon-h"> </span><span class="crayon-cn">52</span><span class="crayon-h"> </span><span class="crayon-e">seconds </span><span class="crayon-i">ago</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38a1461965976-4"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0012 seconds] -->
<p>
In this case, a single container is running as part of the service. The node is listed as <code>moby</code> which is the default name of Docker Engine running using Docker for Mac.</p>
<p>The service can now be scaled as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b38af353347057" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker service scale couchbase_db=2
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b38af353347057-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38af353347057-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b38af353347057-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b38af353347057-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38af353347057-2"><span class="crayon-e">docker </span><span class="crayon-e">service </span><span class="crayon-e">scale </span><span class="crayon-v">couchbase_db</span><span class="crayon-o">=</span><span class="crayon-cn">2</span></div><div class="crayon-line" id="crayon-5cfd1e54b38af353347057-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0004 seconds] -->
<p>
The list of container can then be seen again as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b38bd938191838" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
ID            NAME            IMAGE                       NODE  DESIRED STATE  CURRENT STATE           ERROR  PORTS
rchu2uykeuuj  couchbase_db.1  arungupta/couchbase:latest  moby  Running        Running 3 minutes ago          
kjy7l14weao8  couchbase_db.2  arungupta/couchbase:latest  moby  Running        Running 23 seconds ago
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b38bd938191838-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38bd938191838-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b38bd938191838-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38bd938191838-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b38bd938191838-5">5</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b38bd938191838-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38bd938191838-2"><span class="crayon-e">ID            </span><span class="crayon-e">NAME            </span><span class="crayon-e">IMAGE                       </span><span class="crayon-e">NODE  </span><span class="crayon-e">DESIRED </span><span class="crayon-e">STATE  </span><span class="crayon-e">CURRENT </span><span class="crayon-e">STATE           </span><span class="crayon-e">ERROR  </span><span class="crayon-e">PORTS</span></div><div class="crayon-line" id="crayon-5cfd1e54b38bd938191838-3"><span class="crayon-e">rchu2uykeuuj  </span><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">1</span><span class="crayon-h">  </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">:</span><span class="crayon-e">latest  </span><span class="crayon-e">moby  </span><span class="crayon-e">Running        </span><span class="crayon-i">Running</span><span class="crayon-h"> </span><span class="crayon-cn">3</span><span class="crayon-h"> </span><span class="crayon-e">minutes </span><span class="crayon-e">ago          </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38bd938191838-4"><span class="crayon-e">kjy7l14weao8  </span><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">2</span><span class="crayon-h">  </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-v">couchbase</span><span class="crayon-o">:</span><span class="crayon-e">latest  </span><span class="crayon-e">moby  </span><span class="crayon-e">Running        </span><span class="crayon-i">Running</span><span class="crayon-h"> </span><span class="crayon-cn">23</span><span class="crayon-h"> </span><span class="crayon-e">seconds </span><span class="crayon-i">ago</span></div><div class="crayon-line" id="crayon-5cfd1e54b38bd938191838-5"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0019 seconds] -->
<p>
Note that the containers are given the name using the format <code>&lt;service-name&gt;_n</code>. Both the containers are running on the same host.</p>
<p>Also note, the two containers are independent Couchbase nodes and are not configured in a cluster yet. This has already been explained at Couchbase Cluster using Docker and a refresh of the steps is coming soon.</p>
<p>A service will typically have multiple containers running spread across multiple hosts. Docker 1.13 introduces a new command <code>docker service logs &lt;service-name&gt;</code> to stream the log of service across all the containers on all hosts to your console. In our case, this can be seen using the command <code>docker service logs couchbase_db</code> and looks like:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b38cc042127529" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
couchbase_db.1.rchu2uykeuuj@moby    | ++ set -m
couchbase_db.1.rchu2uykeuuj@moby    | ++ sleep 15
couchbase_db.1.rchu2uykeuuj@moby    | ++ /entrypoint.sh couchbase-server
couchbase_db.2.kjy7l14weao8@moby    | ++ set -m
couchbase_db.2.kjy7l14weao8@moby    | ++ sleep 15
couchbase_db.1.rchu2uykeuuj@moby    | Starting Couchbase Server -- Web UI available at http://:8091 and logs available in /opt/couchbase/var/lib/couchbase/logs
couchbase_db.1.rchu2uykeuuj@moby    | ++ curl -v -X POST http://127.0.0.1:8091/pools/default -d memoryQuota=300 -d indexMemoryQuota=300
couchbase_db.2.kjy7l14weao8@moby    | ++ /entrypoint.sh couchbase-server
couchbase_db.2.kjy7l14weao8@moby    | Starting Couchbase Server -- Web UI available at http://:8091 and logs available in /opt/couchbase/var/lib/couchbase/logs
. . .
couchbase_db.1.rchu2uykeuuj@moby    | ++ '[' '' = WORKER ']'
couchbase_db.2.kjy7l14weao8@moby    | Content-Type: application/json
couchbase_db.1.rchu2uykeuuj@moby    | ++ fg 1
couchbase_db.2.kjy7l14weao8@moby    | Content-Length: 152
couchbase_db.1.rchu2uykeuuj@moby    | /entrypoint.sh couchbase-server
couchbase_db.2.kjy7l14weao8@moby    | Cache-Control: no-cache
couchbase_db.2.kjy7l14weao8@moby    | 
couchbase_db.2.kjy7l14weao8@moby    | ++ echo 'Type: '
couchbase_db.2.kjy7l14weao8@moby    | ++ '[' '' = WORKER ']'
couchbase_db.2.kjy7l14weao8@moby    | ++ fg 1
couchbase_db.2.kjy7l14weao8@moby    | {"storageMode":"memory_optimized","indexerThreads":0,"memorySnapshotInterval":200,"stableSnapshotInterval":5000,"maxRollbackPoints":5,"logLevel":"info"}Type: 
couchbase_db.2.kjy7l14weao8@moby    | /entrypoint.sh couchbase-server
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b38cc042127529-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38cc042127529-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b38cc042127529-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38cc042127529-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b38cc042127529-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38cc042127529-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b38cc042127529-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38cc042127529-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b38cc042127529-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38cc042127529-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b38cc042127529-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38cc042127529-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b38cc042127529-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38cc042127529-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b38cc042127529-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38cc042127529-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b38cc042127529-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38cc042127529-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b38cc042127529-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38cc042127529-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54b38cc042127529-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38cc042127529-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54b38cc042127529-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38cc042127529-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54b38cc042127529-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b38cc042127529-26">26</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b38cc042127529-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38cc042127529-2"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">1.rchu2uykeuuj</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-v">set</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">m</span></div><div class="crayon-line" id="crayon-5cfd1e54b38cc042127529-3"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">1.rchu2uykeuuj</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-i">sleep</span><span class="crayon-h"> </span><span class="crayon-cn">15</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38cc042127529-4"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">1.rchu2uykeuuj</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">entrypoint</span><span class="crayon-sy">.</span><span class="crayon-e">sh </span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-e">server</span></div><div class="crayon-line" id="crayon-5cfd1e54b38cc042127529-5"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">2.kjy7l14weao8</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-v">set</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">m</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38cc042127529-6"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">2.kjy7l14weao8</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-i">sleep</span><span class="crayon-h"> </span><span class="crayon-cn">15</span></div><div class="crayon-line" id="crayon-5cfd1e54b38cc042127529-7"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">1.rchu2uykeuuj</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-e">Starting </span><span class="crayon-e">Couchbase </span><span class="crayon-v">Server</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-h"> </span><span class="crayon-e">Web </span><span class="crayon-e">UI </span><span class="crayon-e">available </span><span class="crayon-e">at </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//:8091 and logs available in /opt/couchbase/var/lib/couchbase/logs</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38cc042127529-8"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">1.rchu2uykeuuj</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-v">curl</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">v</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">X</span><span class="crayon-h"> </span><span class="crayon-e">POST </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//127.0.0.1:8091/pools/default -d memoryQuota=300 -d indexMemoryQuota=300</span></div><div class="crayon-line" id="crayon-5cfd1e54b38cc042127529-9"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">2.kjy7l14weao8</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">entrypoint</span><span class="crayon-sy">.</span><span class="crayon-e">sh </span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-e">server</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38cc042127529-10"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">2.kjy7l14weao8</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-e">Starting </span><span class="crayon-e">Couchbase </span><span class="crayon-v">Server</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-h"> </span><span class="crayon-e">Web </span><span class="crayon-e">UI </span><span class="crayon-e">available </span><span class="crayon-e">at </span><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//:8091 and logs available in /opt/couchbase/var/lib/couchbase/logs</span></div><div class="crayon-line" id="crayon-5cfd1e54b38cc042127529-11"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38cc042127529-12"><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b38cc042127529-13"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38cc042127529-14"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">1.rchu2uykeuuj</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-s">'['</span><span class="crayon-h"> </span><span class="crayon-s">''</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-i">WORKER</span><span class="crayon-h"> </span><span class="crayon-s">']'</span></div><div class="crayon-line" id="crayon-5cfd1e54b38cc042127529-15"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">2.kjy7l14weao8</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-v">Content</span><span class="crayon-o">-</span><span class="crayon-v">Type</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">application</span><span class="crayon-o">/</span><span class="crayon-e">json</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38cc042127529-16"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">1.rchu2uykeuuj</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-i">fg</span><span class="crayon-h"> </span><span class="crayon-cn">1</span></div><div class="crayon-line" id="crayon-5cfd1e54b38cc042127529-17"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">2.kjy7l14weao8</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-v">Content</span><span class="crayon-o">-</span><span class="crayon-v">Length</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">152</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38cc042127529-18"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">1.rchu2uykeuuj</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">entrypoint</span><span class="crayon-sy">.</span><span class="crayon-e">sh </span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-e">server</span></div><div class="crayon-line" id="crayon-5cfd1e54b38cc042127529-19"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">2.kjy7l14weao8</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-v">Cache</span><span class="crayon-o">-</span><span class="crayon-v">Control</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">no</span><span class="crayon-o">-</span><span class="crayon-e">cache</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38cc042127529-20"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">2.kjy7l14weao8</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54b38cc042127529-21"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">2.kjy7l14weao8</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-i">echo</span><span class="crayon-h"> </span><span class="crayon-s">'Type: '</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38cc042127529-22"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">2.kjy7l14weao8</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-s">'['</span><span class="crayon-h"> </span><span class="crayon-s">''</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-i">WORKER</span><span class="crayon-h"> </span><span class="crayon-s">']'</span></div><div class="crayon-line" id="crayon-5cfd1e54b38cc042127529-23"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">2.kjy7l14weao8</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">++</span><span class="crayon-h"> </span><span class="crayon-i">fg</span><span class="crayon-h"> </span><span class="crayon-cn">1</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38cc042127529-24"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">2.kjy7l14weao8</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-s">"storageMode"</span><span class="crayon-o">:</span><span class="crayon-s">"memory_optimized"</span><span class="crayon-sy">,</span><span class="crayon-s">"indexerThreads"</span><span class="crayon-o">:</span><span class="crayon-cn">0</span><span class="crayon-sy">,</span><span class="crayon-s">"memorySnapshotInterval"</span><span class="crayon-o">:</span><span class="crayon-cn">200</span><span class="crayon-sy">,</span><span class="crayon-s">"stableSnapshotInterval"</span><span class="crayon-o">:</span><span class="crayon-cn">5000</span><span class="crayon-sy">,</span><span class="crayon-s">"maxRollbackPoints"</span><span class="crayon-o">:</span><span class="crayon-cn">5</span><span class="crayon-sy">,</span><span class="crayon-s">"logLevel"</span><span class="crayon-o">:</span><span class="crayon-s">"info"</span><span class="crayon-sy">}</span><span class="crayon-v">Type</span><span class="crayon-o">:</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54b38cc042127529-25"><span class="crayon-v">couchbase_db</span><span class="crayon-sy">.</span><span class="crayon-cn">2.kjy7l14weao8</span><span class="crayon-sy">@</span><span class="crayon-v">moby</span><span class="crayon-h">    </span><span class="crayon-o">|</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">entrypoint</span><span class="crayon-sy">.</span><span class="crayon-e">sh </span><span class="crayon-v">couchbase</span><span class="crayon-o">-</span><span class="crayon-i">server</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b38cc042127529-26"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0116 seconds] -->
<p>
The preamble of the log statement uses the format <code>&lt;container-name&gt;.&lt;container-id&gt;@&lt;host&gt;</code>. And then actual log message from your container shows up.</p>
<p>At first instance, attaching container id may seem redundant. But Docker services are self-healing. This means that if a container dies then the Docker Engine will start another container to ensure the specified number of replicas at a given time. This new container will have a new id. And thus it allows  to attach the log message from the right container.</p>
<p>So a quick comparison of commands:</p>
<table>
<tbody>
<tr>
<th></th>
<th> Docker Compose v2</th>
<th> Docker compose v3</th>
</tr>
<tr>
<td> Start services</td>
<td><code>docker-compose up -d</code></td>
<td><code>docker stack deploy --compose-file=docker-compose.yml &lt;stack-name&gt; </code></td>
</tr>
<tr>
<td> Scale service</td>
<td><code>docker-compose scale &lt;service&gt;=&lt;replicas&gt;</code></td>
<td><code>docker service scale &lt;service&gt;=&lt;replicas&gt;</code></td>
</tr>
<tr>
<td> Shutdown</td>
<td><code>docker-compose down</code></td>
<td><code>docker stack rm &lt;stack-name&gt;</code></td>
</tr>
<tr>
<td> Multi-host</td>
<td>No</td>
<td>Yes</td>
</tr>
</tbody>
</table>
<p>Want to get started with Couchbase? Look at Couchbase Starter Kits.</p>
<p>Want to learn more about running Couchbase in containers?</p>
<ul>
<li>Couchbase on Containers</li>
<li>Couchbase Forums</li>
<li>Couchbase Developer Portal</li>
<li>@couchhasedev and @couchbase</li>
</ul>
<p>Source: https://blog.couchbase.com/2017/deploy-docker-compose-services-swarm</p>
</div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="deploy-docker-compose-services-swarm/#comments">View all 14 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
</article><!-- #post -->
<article class="post-14442 post type-post status-publish format-standard hentry category-containers tag-docker" id="post-14442">
<header class="entry-header">
<h1 class="entry-title">
<a href="docker-1-13-management-commands/" rel="bookmark">Docker 1.13 Management Commands</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="docker-1-13-management-commands/" rel="bookmark" title="Permalink to Docker 1.13 Management Commands"><time class="entry-date" datetime="2017-01-20T20:28:05+00:00">January 20, 2017</time></a></span><span class="categories-links"><a href="topics/containers/" rel="category tag">containers</a></span><span class="tags-links"><a href="tag/docker/" rel="tag">docker</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p>Docker 1.13 was released yesterday, congratulations!</p>
<p><img alt="Docker 1.13" class="alignnone size-large wp-image-14575" height="302" src="wp-content/uploads/2017/01/docker-1.13-1024x512.jpg" width="604"/></p>
<p>A quick summary of the key features:</p>
<ul>
<li>Compose file to deploy Swarm mode services</li>
<li>Improved CLI backwards compatibility</li>
<li>Clean-up commands</li>
<li>CLI restructured</li>
<li>Monitoring and Build improvements</li>
</ul>
<p>Learn more details about these features in this video by @manomarks:</p>
<p><iframe allowfullscreen="allowfullscreen" frameborder="0" height="480" src="https://www.youtube.com/embed/y_RiG_9jEJ0" width="853"></iframe></p>
<h2>Getting Started with Docker 1.13</h2>
<p>Use Docker for <a href="docs.doc">Mac</a> or Windows to get started. Once installed, the version information looks like:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b4ec5688182786" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
Client:
 Version:      1.13.0
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   49bf474
 Built:        Wed Jan 18 16:20:26 2017
 OS/Arch:      darwin/amd64
Server:
 Version:      1.13.0
 API version:  1.25 (minimum version 1.12)
 Go version:   go1.7.3
 Git commit:   49bf474
 Built:        Wed Jan 18 16:20:26 2017
 OS/Arch:      linux/amd64
 Experimental: true
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b4ec5688182786-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ec5688182786-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ec5688182786-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ec5688182786-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ec5688182786-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ec5688182786-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ec5688182786-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ec5688182786-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ec5688182786-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ec5688182786-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ec5688182786-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ec5688182786-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ec5688182786-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ec5688182786-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ec5688182786-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ec5688182786-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ec5688182786-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ec5688182786-18">18</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b4ec5688182786-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ec5688182786-2"><span class="crayon-v">Client</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ec5688182786-3"><span class="crayon-h"> </span><span class="crayon-v">Version</span><span class="crayon-o">:</span><span class="crayon-h">      </span><span class="crayon-cn">1.13.0</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ec5688182786-4"><span class="crayon-h"> </span><span class="crayon-e">API </span><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h">  </span><span class="crayon-cn">1.25</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ec5688182786-5"><span class="crayon-h"> </span><span class="crayon-e">Go </span><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h">   </span><span class="crayon-v">go1</span><span class="crayon-sy">.</span><span class="crayon-cn">7.3</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ec5688182786-6"><span class="crayon-h"> </span><span class="crayon-e">Git </span><span class="crayon-v">commit</span><span class="crayon-o">:</span><span class="crayon-h">   </span><span class="crayon-cn">49bf474</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ec5688182786-7"><span class="crayon-h"> </span><span class="crayon-v">Built</span><span class="crayon-o">:</span><span class="crayon-h">        </span><span class="crayon-e">Wed </span><span class="crayon-i">Jan</span><span class="crayon-h"> </span><span class="crayon-cn">18</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">20</span><span class="crayon-o">:</span><span class="crayon-cn">26</span><span class="crayon-h"> </span><span class="crayon-cn">2017</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ec5688182786-8"><span class="crayon-h"> </span><span class="crayon-v">OS</span><span class="crayon-o">/</span><span class="crayon-v">Arch</span><span class="crayon-o">:</span><span class="crayon-h">      </span><span class="crayon-v">darwin</span><span class="crayon-o">/</span><span class="crayon-e">amd64</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ec5688182786-9"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ec5688182786-10"><span class="crayon-v">Server</span><span class="crayon-o">:</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ec5688182786-11"><span class="crayon-h"> </span><span class="crayon-v">Version</span><span class="crayon-o">:</span><span class="crayon-h">      </span><span class="crayon-cn">1.13.0</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ec5688182786-12"><span class="crayon-h"> </span><span class="crayon-e">API </span><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h">  </span><span class="crayon-cn">1.25</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">minimum </span><span class="crayon-i">version</span><span class="crayon-h"> </span><span class="crayon-cn">1.12</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ec5688182786-13"><span class="crayon-h"> </span><span class="crayon-e">Go </span><span class="crayon-v">version</span><span class="crayon-o">:</span><span class="crayon-h">   </span><span class="crayon-v">go1</span><span class="crayon-sy">.</span><span class="crayon-cn">7.3</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ec5688182786-14"><span class="crayon-h"> </span><span class="crayon-e">Git </span><span class="crayon-v">commit</span><span class="crayon-o">:</span><span class="crayon-h">   </span><span class="crayon-cn">49bf474</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ec5688182786-15"><span class="crayon-h"> </span><span class="crayon-v">Built</span><span class="crayon-o">:</span><span class="crayon-h">        </span><span class="crayon-e">Wed </span><span class="crayon-i">Jan</span><span class="crayon-h"> </span><span class="crayon-cn">18</span><span class="crayon-h"> </span><span class="crayon-cn">16</span><span class="crayon-o">:</span><span class="crayon-cn">20</span><span class="crayon-o">:</span><span class="crayon-cn">26</span><span class="crayon-h"> </span><span class="crayon-cn">2017</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ec5688182786-16"><span class="crayon-h"> </span><span class="crayon-v">OS</span><span class="crayon-o">/</span><span class="crayon-v">Arch</span><span class="crayon-o">:</span><span class="crayon-h">      </span><span class="crayon-v">linux</span><span class="crayon-o">/</span><span class="crayon-e">amd64</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ec5688182786-17"><span class="crayon-e"> </span><span class="crayon-v">Experimental</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">true</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ec5688182786-18"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0040 seconds] -->
<p>
<h2>Problems with Docker CLI</h2>
<p>Docker 1.12 CLI has about ~40 top-level solo commands. While these commands wokred very well but they had a few issues:</p>
<ol>
<li>The commands are listed in one list without any organization. That makes it difficult for newbies to get started and learn the commands. (#8756)</li>
<li>The command, such as <code>docker inspect</code>, also does not provide enough context whether they are operating on image or container. This mixing of image and container commands can cause confusion. (#13509)</li>
<li>There is no consistency of command names. For example <code>docker images</code> is a plural and gives the list of images where as <code>docker ps</code> is singular and gives the list of containers. And they of course have the naming inconsistency issue. (#8829)</li>
<li>Some of the commands like <code>build</code> and <code>run</code> are used heavily and then some arcane ones like <code>pause</code> and <code>wait</code> not so often. It does not seem fair to keep all the commands at the same level.</li>
</ol>
<p>Docker 1.13 fixes this problem!</p>
<h2>Docker Management Commands</h2>
<p>Docker 1.13 groups the commands logically into management commands.</p>
<p>Here are the top-level solo commands now:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b4ee5144667713" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
checkpoint  Manage checkpoints
container   Manage containers
image       Manage images
network     Manage networks
node        Manage Swarm nodes
plugin      Manage plugins
secret      Manage Docker secrets
service     Manage services
stack       Manage Docker stacks
swarm       Manage Swarm
system      Manage Docker
volume      Manage volumes
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b4ee5144667713-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ee5144667713-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ee5144667713-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ee5144667713-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ee5144667713-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ee5144667713-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ee5144667713-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ee5144667713-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ee5144667713-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ee5144667713-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ee5144667713-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ee5144667713-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ee5144667713-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ee5144667713-14">14</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b4ee5144667713-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ee5144667713-2"><span class="crayon-e">checkpoint  </span><span class="crayon-e">Manage </span><span class="crayon-e">checkpoints</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ee5144667713-3"><span class="crayon-e">container   </span><span class="crayon-e">Manage </span><span class="crayon-e">containers</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ee5144667713-4"><span class="crayon-e">image       </span><span class="crayon-e">Manage </span><span class="crayon-e">images</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ee5144667713-5"><span class="crayon-e">network     </span><span class="crayon-e">Manage </span><span class="crayon-e">networks</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ee5144667713-6"><span class="crayon-e">node        </span><span class="crayon-e">Manage </span><span class="crayon-e">Swarm </span><span class="crayon-e">nodes</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ee5144667713-7"><span class="crayon-e">plugin      </span><span class="crayon-e">Manage </span><span class="crayon-e">plugins</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ee5144667713-8"><span class="crayon-e">secret      </span><span class="crayon-e">Manage </span><span class="crayon-e">Docker </span><span class="crayon-e">secrets</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ee5144667713-9"><span class="crayon-e">service     </span><span class="crayon-e">Manage </span><span class="crayon-e">services</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ee5144667713-10"><span class="crayon-e">stack       </span><span class="crayon-e">Manage </span><span class="crayon-e">Docker </span><span class="crayon-e">stacks</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ee5144667713-11"><span class="crayon-e">swarm       </span><span class="crayon-e">Manage </span><span class="crayon-e">Swarm</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ee5144667713-12"><span class="crayon-e">system      </span><span class="crayon-e">Manage </span><span class="crayon-e">Docker</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ee5144667713-13"><span class="crayon-e">volume      </span><span class="crayon-e">Manage </span><span class="crayon-i">volumes</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ee5144667713-14"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0017 seconds] -->
<p>
Now a list of images is obtained using <code>docker image ls</code> command instead of <code>docker images</code> command. Similar <code>docker container ls</code> shows the list of containers instead of <code>docker ls</code>. This brings a lot of consistency across the commands and that would make it intuitive and easier for newbie and pros to remember the commands.</p>
<p>Each management command has some similar set of sub-commands where they perform the operation on the command category:</p>
<table>
<tbody>
<tr>
<th>Sub-command</th>
<th>Purpose</th>
</tr>
<tr>
<td><code>ls</code></td>
<td>List &lt;category&gt; (image, container, volume, secret, etc)</td>
</tr>
<tr>
<td><code>rm</code></td>
<td>Remove &lt;category&gt;</td>
</tr>
<tr>
<td><code>inspect</code></td>
<td>Inspect &lt;category&gt;</td>
</tr>
</tbody>
</table>
<p>And there are other sub-commands based upon the management category.</p>
<p>Some of the heavily used commands are still at the top level.</p>
<p>By default, all the top-level commands are also shown. But you can set the <code>DOCKER_HIDE_LEGACY_COMMANDS</code> environment variable to show only the management commands. So even though <code>docker --help</code> will show all the solo and management commands. But the following commands will only show the new management commands:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b4ef6493671977" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
DOCKER_HIDE_LEGACY_COMMANDS=true docker --help
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b4ef6493671977-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4ef6493671977-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b4ef6493671977-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b4ef6493671977-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4ef6493671977-2"><span class="crayon-v">DOCKER_HIDE_LEGACY_COMMANDS</span><span class="crayon-o">=</span><span class="crayon-t">true</span><span class="crayon-h"> </span><span class="crayon-v">docker</span><span class="crayon-h"> </span><span class="crayon-o">--</span><span class="crayon-i">help</span></div><div class="crayon-line" id="crayon-5cfd1e54b4ef6493671977-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0005 seconds] -->
<p>
The old syntax is still supported but it recommended to start moving to new commands.</p>
<p>A new Couchbase container can be started as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b4f04816417325" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker container run -d -p 8091-8094:8091-8094 -p 11210:11210 arungupta/couchbase
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b4f04816417325-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4f04816417325-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b4f04816417325-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b4f04816417325-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4f04816417325-2"><span class="crayon-e">docker </span><span class="crayon-e">container </span><span class="crayon-v">run</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-v">d</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">p</span><span class="crayon-h"> </span><span class="crayon-cn">8091</span><span class="crayon-o">-</span><span class="crayon-cn">8094</span><span class="crayon-o">:</span><span class="crayon-cn">8091</span><span class="crayon-o">-</span><span class="crayon-cn">8094</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">p</span><span class="crayon-h"> </span><span class="crayon-cn">11210</span><span class="crayon-o">:</span><span class="crayon-cn">11210</span><span class="crayon-h"> </span><span class="crayon-v">arungupta</span><span class="crayon-o">/</span><span class="crayon-i">couchbase</span></div><div class="crayon-line" id="crayon-5cfd1e54b4f04816417325-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0011 seconds] -->
<p>
The list of images can be seen as:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b4f13028233128" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
docker image ls
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b4f13028233128-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b4f13028233128-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b4f13028233128-3">3</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b4f13028233128-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b4f13028233128-2"><span class="crayon-e">docker </span><span class="crayon-e">image </span><span class="crayon-i">ls</span></div><div class="crayon-line" id="crayon-5cfd1e54b4f13028233128-3"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0003 seconds] -->
<p>
<h2>Mapping Docker Solo to Management Commands</h2>
<p>Let’s look at how the existing top-level commands match to the management commands:</p>
<table>
<tbody>
<tr>
<th>1.12</th>
<th>1.13</th>
<th>Purpose</th>
</tr>
<tr>
<td><code>attach</code></td>
<td><code>container attach</code></td>
<td>Attach to a running container</td>
</tr>
<tr>
<td><code>build</code></td>
<td><code>image build</code></td>
<td>Build an image from a Dockerfile</td>
</tr>
<tr>
<td><code>commit</code></td>
<td><code>container commit</code></td>
<td>Create a new image from a container’s changes</td>
</tr>
<tr>
<td><code>cp</code></td>
<td><code>container cp</code></td>
<td>Copy files/folders between a container and the local filesystem</td>
</tr>
<tr>
<td><code>create</code></td>
<td><code>container create</code></td>
<td>Create a new container</td>
</tr>
<tr>
<td><code>diff</code></td>
<td><code>container diff</code></td>
<td>Inspect changes on a container’s filesystem</td>
</tr>
<tr>
<td><code>events</code></td>
<td><code>system events</code></td>
<td>Get real time events from the server</td>
</tr>
<tr>
<td><code>exec</code></td>
<td><code>container exec</code></td>
<td>Run a command in a running container</td>
</tr>
<tr>
<td><code>export</code></td>
<td><code>container export</code></td>
<td>Export a container’s filesystem as a tar archive</td>
</tr>
<tr>
<td><code>history</code></td>
<td><code>image history</code></td>
<td>Show the history of an image</td>
</tr>
<tr>
<td><code>images</code></td>
<td><code>image ls</code></td>
<td>List images</td>
</tr>
<tr>
<td><code>import</code></td>
<td><code>image import</code></td>
<td>Import the contents from a tarball to create a filesystem image</td>
</tr>
<tr>
<td><code>info</code></td>
<td><code>system info</code></td>
<td>Display system-wide information</td>
</tr>
<tr>
<td><code>inspect</code></td>
<td><code>container inspect</code></td>
<td>Return low-level information on a container, image or task</td>
</tr>
<tr>
<td><code>kill</code></td>
<td><code>container kill</code></td>
<td>Kill one or more running containers</td>
</tr>
<tr>
<td><code>load</code></td>
<td><code>image load</code></td>
<td>Load an image from a tar archive or STDIN</td>
</tr>
<tr>
<td><code>login</code></td>
<td><code>login</code></td>
<td>Log in to a Docker registry.</td>
</tr>
<tr>
<td><code>logout</code></td>
<td><code>logout</code></td>
<td>Log out from a Docker registry.</td>
</tr>
<tr>
<td><code>logs</code></td>
<td><code>container logs</code></td>
<td>Fetch the logs of a container</td>
</tr>
<tr>
<td><code>network</code></td>
<td><code>network</code></td>
<td>Manage Docker networks</td>
</tr>
<tr>
<td><code>node</code></td>
<td><code>node</code></td>
<td>Manage Docker Swarm nodes</td>
</tr>
<tr>
<td><code>pause</code></td>
<td><code>container pause</code></td>
<td>Pause all processes within one or more containers</td>
</tr>
<tr>
<td><code>port</code></td>
<td><code>container port</code></td>
<td>List port mappings or a specific mapping for the container</td>
</tr>
<tr>
<td><code>ps</code></td>
<td><code>container ls</code></td>
<td>List containers</td>
</tr>
<tr>
<td><code>pull</code></td>
<td><code>image pull</code></td>
<td>Pull an image or a repository from a registry</td>
</tr>
<tr>
<td><code>push</code></td>
<td><code>image push</code></td>
<td>Push an image or a repository to a registry</td>
</tr>
<tr>
<td><code>rename</code></td>
<td><code>container rename</code></td>
<td>Rename a container</td>
</tr>
<tr>
<td><code>restart</code></td>
<td><code>container restart</code></td>
<td>Restart a container</td>
</tr>
<tr>
<td><code>rm</code></td>
<td><code>container rm</code></td>
<td>Remove one or more containers</td>
</tr>
<tr>
<td><code>rmi</code></td>
<td><code>image rm</code></td>
<td>Remove one or more images</td>
</tr>
<tr>
<td><code>run</code></td>
<td><code>container run</code></td>
<td>Run a command in a new container</td>
</tr>
<tr>
<td><code>save</code></td>
<td><code>image save</code></td>
<td>Save one or more images to a tar archive (streamed to STDOUT by default)</td>
</tr>
<tr>
<td><code>search</code></td>
<td><code>search</code></td>
<td>Search the Docker Hub for images</td>
</tr>
<tr>
<td><code>service</code></td>
<td><code>service</code></td>
<td>Manage Docker services</td>
</tr>
<tr>
<td><code>start</code></td>
<td><code>container start</code></td>
<td>Start one or more stopped containers</td>
</tr>
<tr>
<td><code>stats</code></td>
<td><code>container stats</code></td>
<td>Display a live stream of container(s) resource usage statistics</td>
</tr>
<tr>
<td><code>stop</code></td>
<td><code>container stop</code></td>
<td>Stop one or more running containers</td>
</tr>
<tr>
<td><code>swarm</code></td>
<td><code>swarm</code></td>
<td>Manage Docker Swarm</td>
</tr>
<tr>
<td><code>tag</code></td>
<td><code>image tag</code></td>
<td>Tag an image into a repository</td>
</tr>
<tr>
<td><code>top</code></td>
<td><code>container top</code></td>
<td>Display the running processes of a container</td>
</tr>
<tr>
<td><code>unpause</code></td>
<td><code>container unpause</code></td>
<td>Unpause all processes within one or more containers</td>
</tr>
<tr>
<td><code>update</code></td>
<td><code>container update</code></td>
<td>Update configuration of one or more containers</td>
</tr>
<tr>
<td><code>version</code></td>
<td><code>version</code></td>
<td>Show the Docker version information</td>
</tr>
<tr>
<td><code>volume</code></td>
<td><code>volume</code></td>
<td>Manage Docker volumes</td>
</tr>
<tr>
<td><code>wait</code></td>
<td><code>container wait</code></td>
<td>Block until a container stops, then print its exit code</td>
</tr>
</tbody>
</table>
<p>Sign up for <a href="https://www.meetup.com/Docker-Online-Meetup/events/237009166/">Docker Online Meetup on 1/25 at 10am PST</a> for more details on Docker 1.13.</p>
<p>Use Docker for Mac or Windows to get started with Docker 1.13.</p>
<p>And of course, you can learn more about how to run Couchbase on Containers.</p>
<p>Source: https://blog.couchbase.com/2017/docker-1-13-management-commands</p>
</p></p></div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="docker-1-13-management-commands/#comments">View all 8 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
</article><!-- #post -->
<article class="post-14563 post type-post status-publish format-standard hentry category-couchbase tag-aws tag-couchbase tag-lambda tag-n1ql tag-serverless" id="post-14563">
<header class="entry-header">
<h1 class="entry-title">
<a href="analyze-donald-trump-tweets-n1ql/" rel="bookmark">Analyze Donald Trump Tweets with Couchbase and N1QL</a>
</h1>
<div class="entry-meta">
<span class="date"><a href="analyze-donald-trump-tweets-n1ql/" rel="bookmark" title="Permalink to Analyze Donald Trump Tweets with Couchbase and N1QL"><time class="entry-date" datetime="2017-01-19T22:51:33+00:00">January 19, 2017</time></a></span><span class="categories-links"><a href="topics/couchbase/" rel="category tag">couchbase</a></span><span class="tags-links"><a href="tag/aws/" rel="tag">aws</a>, <a href="tag/couchbase/" rel="tag">couchbase</a>, <a href="tag/lambda/" rel="tag">lambda</a>, <a href="tag/n1ql/" rel="tag">n1ql</a>, <a href="tag/serverless/" rel="tag">serverless</a></span><span class="author vcard"><a class="url fn n" href="author/admin/" rel="author" title="View all posts by arungupta">arungupta</a></span> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<p>AWS Serverless Lambda Scheduled Events to Store Tweets in Couchbase explained how to store tweets in Couchbase using AWS Serverless Lambda. Now, this Lambda Function has been running for a few days and has collected 269 tweets from @realDonaldTrump. This blog , inspired by SQL on Twitter: Analysis Made Easy Using N1QL, will show how these tweets can be analyzed using N1QL.</p>
<p><a href="wp-content/uploads/2017/01/trump-tweets.jpg"><img alt="trump-tweets" class="alignnone size-full wp-image-14569" height="415" src="wp-content/uploads/2017/01/trump-tweets.jpg" width="625"/><br/>
</a>N1QL is a SQL-like query language from Couchbase that operates on JSON documents. N1QL and SQL Differences provide differences between N1QL and SQL. Let’s use N1QL to reveal some interesting information from @realDonaldTrump‘s tweets.</p>
<p>Many thanks to Sitaram from N1QL team to help hack the queries.</p>
<h2>How Many Tweets</h2>
<p>First query is to find out how many tweets are available in the database. The query is pretty simple:</p>
<p><strong>Query:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b69ec567905548" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
SELECT COUNT(*) tweet_count 
FROM twitter;
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b69ec567905548-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b69ec567905548-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b69ec567905548-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b69ec567905548-4">4</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b69ec567905548-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b69ec567905548-2"><span class="crayon-e">SELECT </span><span class="crayon-e">COUNT</span><span class="crayon-sy">(</span><span class="crayon-o">*</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-e">tweet_count </span></div><div class="crayon-line" id="crayon-5cfd1e54b69ec567905548-3"><span class="crayon-e">FROM </span><span class="crayon-v">twitter</span><span class="crayon-sy">;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b69ec567905548-4"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0006 seconds] -->
<p>
As you notice, the syntax is very similar to SQL. <code>SELECT</code>, <code>COUNT</code> and <code>FROM</code> clauses are what you are already familiar with from SQL syntax. <code>tweet_count</code> is an alias defined for the returned result. <code>twitter</code> is the bucket where all the JSON documents are stored.</p>
<p><strong>Results:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6a0a143012485" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div><span class="crayon-language">JavaScript</span></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
[
  {
    "tweet_count": 269
  }
]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6a0a143012485-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a0a143012485-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a0a143012485-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a0a143012485-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a0a143012485-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a0a143012485-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a0a143012485-7">7</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6a0a143012485-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a0a143012485-2"><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a0a143012485-3"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a0a143012485-4"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">269</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a0a143012485-5"><span class="crayon-h">  </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a0a143012485-6"><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a0a143012485-7"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0006 seconds] -->
<p>
The result is a JSON document as well.</p>
<h2>Tweet Sample JSON Document</h2>
<p>In order to write queries on a JSON document, you need to know the structure of the document. The next query will give you that.</p>
<p><strong>Query:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6a19881746541" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
SELECT * 
FROM twitter 
LIMIT 1;
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6a19881746541-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a19881746541-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a19881746541-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a19881746541-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a19881746541-5">5</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6a19881746541-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a19881746541-2"><span class="crayon-e">SELECT *</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54b6a19881746541-3"><span class="crayon-e">FROM </span><span class="crayon-e">twitter </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a19881746541-4"><span class="crayon-i">LIMIT</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">;</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a19881746541-5"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0005 seconds] -->
<p>
The new clause introduced here is <code>LIMIT</code>. This allows to restrict the number of objects that are returned in a result set of <code>SELECT</code>.</p>
<p><strong>Results:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6a27221587572" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
[
  {
    "twitter": {
      "accessLevel": "0",
      "contributors": [],
      "createdAt": "1480828438000",
      "currentUserRetweetId": "-1",
      "displayTextRangeEnd": "-1",
      "displayTextRangeStart": "-1",
      "favoriteCount": "116356",
      "favorited": false,
      "geoLocation": null,
      "hashtagEntities": [],
      "id": "805278955150471168",
      "inReplyToScreenName": null,
      "inReplyToStatusId": "-1",
      "inReplyToUserId": "-1",
      "lang": "en",
      "mediaEntities": [],
      "place": null,
      "possiblySensitive": false,
      "quotedStatus": null,
      "quotedStatusId": "-1",
      "rateLimitStatus": null,
      "retweet": false,
      "retweetCount": "28330",
      "retweeted": false,
      "retweetedByMe": false,
      "retweetedStatus": null,
      "scopes": null,
      "source": "&lt;a href=\"http://twitter.com/download/android\" rel=\"nofollow\"&gt;Twitter for Android&lt;/a&gt;",
      "symbolEntities": [],
      "text": "Just tried watching Saturday Night Live - unwatchable! Totally biased, not funny and the Baldwin impersonation just can't get any worse. Sad",
      "truncated": false,
      "urlentities": [],
      "user": {
        "accessLevel": "0",
        "biggerProfileImageURL": "http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_bigger.jpg",
        "biggerProfileImageURLHttps": "https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_bigger.jpg",
        "contributorsEnabled": false,
        "createdAt": "1237383998000",
        "defaultProfile": false,
        "defaultProfileImage": false,
        "description": "President-elect of the United States",
        "descriptionURLEntities": [],
        "email": null,
        "favouritesCount": "46",
        "followRequestSent": false,
        "followersCount": "19294404",
        "friendsCount": "42",
        "geoEnabled": true,
        "id": "25073877",
        "lang": "en",
        "listedCount": "52499",
        "location": "New York, NY",
        "miniProfileImageURL": "http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_mini.jpg",
        "miniProfileImageURLHttps": "https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_mini.jpg",
        "name": "Donald J. Trump",
        "originalProfileImageURL": "http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2.jpg",
        "originalProfileImageURLHttps": "https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2.jpg",
        "profileBackgroundColor": "6D5C18",
        "profileBackgroundImageURL": "http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg",
        "profileBackgroundImageUrlHttps": "https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg",
        "profileBackgroundTiled": true,
        "profileBannerIPadRetinaURL": "https://pbs.twimg.com/profile_banners/25073877/1479776952/ipad_retina",
        "profileBannerIPadURL": "https://pbs.twimg.com/profile_banners/25073877/1479776952/ipad",
        "profileBannerMobileRetinaURL": "https://pbs.twimg.com/profile_banners/25073877/1479776952/mobile_retina",
        "profileBannerMobileURL": "https://pbs.twimg.com/profile_banners/25073877/1479776952/mobile",
        "profileBannerRetinaURL": "https://pbs.twimg.com/profile_banners/25073877/1479776952/web_retina",
        "profileBannerURL": "https://pbs.twimg.com/profile_banners/25073877/1479776952/web",
        "profileImageURL": "http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg",
        "profileImageURLHttps": "https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg",
        "profileLinkColor": "0D5B73",
        "profileSidebarBorderColor": "BDDCAD",
        "profileSidebarFillColor": "C5CEC0",
        "profileTextColor": "333333",
        "profileUseBackgroundImage": true,
        "protected": false,
        "rateLimitStatus": null,
        "screenName": "realDonaldTrump",
        "showAllInlineMedia": false,
        "status": null,
        "statusesCount": "34269",
        "timeZone": "Eastern Time (US &amp; Canada)",
        "translator": false,
        "url": "https://t.co/mZB2hymxC9",
        "urlentity": {
          "displayURL": "https://t.co/mZB2hymxC9",
          "end": "23",
          "expandedURL": "https://t.co/mZB2hymxC9",
          "start": "0",
          "text": "https://t.co/mZB2hymxC9",
          "url": "https://t.co/mZB2hymxC9"
        },
        "utcOffset": "-18000",
        "verified": true,
        "withheldInCountries": null
      },
      "userMentionEntities": [],
      "withheldInCountries": null
    }
  }
]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-26">26</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-28">28</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-29">29</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-30">30</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-31">31</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-32">32</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-33">33</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-34">34</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-35">35</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-36">36</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-37">37</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-38">38</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-39">39</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-40">40</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-41">41</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-42">42</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-43">43</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-44">44</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-45">45</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-46">46</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-47">47</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-48">48</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-49">49</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-50">50</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-51">51</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-52">52</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-53">53</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-54">54</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-55">55</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-56">56</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-57">57</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-58">58</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-59">59</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-60">60</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-61">61</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-62">62</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-63">63</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-64">64</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-65">65</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-66">66</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-67">67</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-68">68</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-69">69</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-70">70</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-71">71</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-72">72</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-73">73</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-74">74</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-75">75</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-76">76</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-77">77</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-78">78</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-79">79</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-80">80</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-81">81</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-82">82</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-83">83</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-84">84</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-85">85</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-86">86</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-87">87</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-88">88</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-89">89</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-90">90</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-91">91</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-92">92</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-93">93</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-94">94</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-95">95</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-96">96</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-97">97</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-98">98</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-99">99</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-100">100</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-101">101</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-102">102</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-103">103</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a27221587572-104">104</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a27221587572-105">105</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-2"><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-3"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-4"><span class="crayon-h">    </span><span class="crayon-s">"twitter"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-5"><span class="crayon-h">      </span><span class="crayon-s">"accessLevel"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"0"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-6"><span class="crayon-h">      </span><span class="crayon-s">"contributors"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-7"><span class="crayon-h">      </span><span class="crayon-s">"createdAt"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"1480828438000"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-8"><span class="crayon-h">      </span><span class="crayon-s">"currentUserRetweetId"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"-1"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-9"><span class="crayon-h">      </span><span class="crayon-s">"displayTextRangeEnd"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"-1"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-10"><span class="crayon-h">      </span><span class="crayon-s">"displayTextRangeStart"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"-1"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-11"><span class="crayon-h">      </span><span class="crayon-s">"favoriteCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"116356"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-12"><span class="crayon-h">      </span><span class="crayon-s">"favorited"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-13"><span class="crayon-h">      </span><span class="crayon-s">"geoLocation"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">null</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-14"><span class="crayon-h">      </span><span class="crayon-s">"hashtagEntities"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-15"><span class="crayon-h">      </span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"805278955150471168"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-16"><span class="crayon-h">      </span><span class="crayon-s">"inReplyToScreenName"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">null</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-17"><span class="crayon-h">      </span><span class="crayon-s">"inReplyToStatusId"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"-1"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-18"><span class="crayon-h">      </span><span class="crayon-s">"inReplyToUserId"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"-1"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-19"><span class="crayon-h">      </span><span class="crayon-s">"lang"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"en"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-20"><span class="crayon-h">      </span><span class="crayon-s">"mediaEntities"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-21"><span class="crayon-h">      </span><span class="crayon-s">"place"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">null</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-22"><span class="crayon-h">      </span><span class="crayon-s">"possiblySensitive"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-23"><span class="crayon-h">      </span><span class="crayon-s">"quotedStatus"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">null</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-24"><span class="crayon-h">      </span><span class="crayon-s">"quotedStatusId"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"-1"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-25"><span class="crayon-h">      </span><span class="crayon-s">"rateLimitStatus"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">null</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-26"><span class="crayon-h">      </span><span class="crayon-s">"retweet"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-27"><span class="crayon-h">      </span><span class="crayon-s">"retweetCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"28330"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-28"><span class="crayon-h">      </span><span class="crayon-s">"retweeted"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-29"><span class="crayon-h">      </span><span class="crayon-s">"retweetedByMe"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-30"><span class="crayon-h">      </span><span class="crayon-s">"retweetedStatus"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">null</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-31"><span class="crayon-h">      </span><span class="crayon-s">"scopes"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">null</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-32"><span class="crayon-h">      </span><span class="crayon-s">"source"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"&lt;a href=\"http://twitter.com/download/android\" rel=\"nofollow\"&gt;Twitter for Android&lt;/a&gt;"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-33"><span class="crayon-h">      </span><span class="crayon-s">"symbolEntities"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-34"><span class="crayon-h">      </span><span class="crayon-s">"text"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"Just tried watching Saturday Night Live - unwatchable! Totally biased, not funny and the Baldwin impersonation just can't get any worse. Sad"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-35"><span class="crayon-h">      </span><span class="crayon-s">"truncated"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-36"><span class="crayon-h">      </span><span class="crayon-s">"urlentities"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-37"><span class="crayon-h">      </span><span class="crayon-s">"user"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-38"><span class="crayon-h">        </span><span class="crayon-s">"accessLevel"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"0"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-39"><span class="crayon-h">        </span><span class="crayon-s">"biggerProfileImageURL"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_bigger.jpg"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-40"><span class="crayon-h">        </span><span class="crayon-s">"biggerProfileImageURLHttps"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_bigger.jpg"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-41"><span class="crayon-h">        </span><span class="crayon-s">"contributorsEnabled"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-42"><span class="crayon-h">        </span><span class="crayon-s">"createdAt"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"1237383998000"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-43"><span class="crayon-h">        </span><span class="crayon-s">"defaultProfile"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-44"><span class="crayon-h">        </span><span class="crayon-s">"defaultProfileImage"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-45"><span class="crayon-h">        </span><span class="crayon-s">"description"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"President-elect of the United States"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-46"><span class="crayon-h">        </span><span class="crayon-s">"descriptionURLEntities"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-47"><span class="crayon-h">        </span><span class="crayon-s">"email"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">null</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-48"><span class="crayon-h">        </span><span class="crayon-s">"favouritesCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"46"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-49"><span class="crayon-h">        </span><span class="crayon-s">"followRequestSent"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-50"><span class="crayon-h">        </span><span class="crayon-s">"followersCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"19294404"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-51"><span class="crayon-h">        </span><span class="crayon-s">"friendsCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"42"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-52"><span class="crayon-h">        </span><span class="crayon-s">"geoEnabled"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">true</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-53"><span class="crayon-h">        </span><span class="crayon-s">"id"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"25073877"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-54"><span class="crayon-h">        </span><span class="crayon-s">"lang"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"en"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-55"><span class="crayon-h">        </span><span class="crayon-s">"listedCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"52499"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-56"><span class="crayon-h">        </span><span class="crayon-s">"location"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"New York, NY"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-57"><span class="crayon-h">        </span><span class="crayon-s">"miniProfileImageURL"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_mini.jpg"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-58"><span class="crayon-h">        </span><span class="crayon-s">"miniProfileImageURLHttps"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_mini.jpg"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-59"><span class="crayon-h">        </span><span class="crayon-s">"name"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"Donald J. Trump"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-60"><span class="crayon-h">        </span><span class="crayon-s">"originalProfileImageURL"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2.jpg"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-61"><span class="crayon-h">        </span><span class="crayon-s">"originalProfileImageURLHttps"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2.jpg"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-62"><span class="crayon-h">        </span><span class="crayon-s">"profileBackgroundColor"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"6D5C18"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-63"><span class="crayon-h">        </span><span class="crayon-s">"profileBackgroundImageURL"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-64"><span class="crayon-h">        </span><span class="crayon-s">"profileBackgroundImageUrlHttps"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-65"><span class="crayon-h">        </span><span class="crayon-s">"profileBackgroundTiled"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">true</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-66"><span class="crayon-h">        </span><span class="crayon-s">"profileBannerIPadRetinaURL"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://pbs.twimg.com/profile_banners/25073877/1479776952/ipad_retina"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-67"><span class="crayon-h">        </span><span class="crayon-s">"profileBannerIPadURL"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://pbs.twimg.com/profile_banners/25073877/1479776952/ipad"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-68"><span class="crayon-h">        </span><span class="crayon-s">"profileBannerMobileRetinaURL"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://pbs.twimg.com/profile_banners/25073877/1479776952/mobile_retina"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-69"><span class="crayon-h">        </span><span class="crayon-s">"profileBannerMobileURL"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://pbs.twimg.com/profile_banners/25073877/1479776952/mobile"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-70"><span class="crayon-h">        </span><span class="crayon-s">"profileBannerRetinaURL"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://pbs.twimg.com/profile_banners/25073877/1479776952/web_retina"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-71"><span class="crayon-h">        </span><span class="crayon-s">"profileBannerURL"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://pbs.twimg.com/profile_banners/25073877/1479776952/web"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-72"><span class="crayon-h">        </span><span class="crayon-s">"profileImageURL"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-73"><span class="crayon-h">        </span><span class="crayon-s">"profileImageURLHttps"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-74"><span class="crayon-h">        </span><span class="crayon-s">"profileLinkColor"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"0D5B73"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-75"><span class="crayon-h">        </span><span class="crayon-s">"profileSidebarBorderColor"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"BDDCAD"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-76"><span class="crayon-h">        </span><span class="crayon-s">"profileSidebarFillColor"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"C5CEC0"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-77"><span class="crayon-h">        </span><span class="crayon-s">"profileTextColor"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"333333"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-78"><span class="crayon-h">        </span><span class="crayon-s">"profileUseBackgroundImage"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">true</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-79"><span class="crayon-h">        </span><span class="crayon-s">"protected"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-80"><span class="crayon-h">        </span><span class="crayon-s">"rateLimitStatus"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">null</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-81"><span class="crayon-h">        </span><span class="crayon-s">"screenName"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"realDonaldTrump"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-82"><span class="crayon-h">        </span><span class="crayon-s">"showAllInlineMedia"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-83"><span class="crayon-h">        </span><span class="crayon-s">"status"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">null</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-84"><span class="crayon-h">        </span><span class="crayon-s">"statusesCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"34269"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-85"><span class="crayon-h">        </span><span class="crayon-s">"timeZone"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"Eastern Time (US &amp; Canada)"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-86"><span class="crayon-h">        </span><span class="crayon-s">"translator"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-87"><span class="crayon-h">        </span><span class="crayon-s">"url"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://t.co/mZB2hymxC9"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-88"><span class="crayon-h">        </span><span class="crayon-s">"urlentity"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-89"><span class="crayon-h">          </span><span class="crayon-s">"displayURL"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://t.co/mZB2hymxC9"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-90"><span class="crayon-h">          </span><span class="crayon-s">"end"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"23"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-91"><span class="crayon-h">          </span><span class="crayon-s">"expandedURL"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://t.co/mZB2hymxC9"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-92"><span class="crayon-h">          </span><span class="crayon-s">"start"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"0"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-93"><span class="crayon-h">          </span><span class="crayon-s">"text"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://t.co/mZB2hymxC9"</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-94"><span class="crayon-h">          </span><span class="crayon-s">"url"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"https://t.co/mZB2hymxC9"</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-95"><span class="crayon-h">        </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-96"><span class="crayon-h">        </span><span class="crayon-s">"utcOffset"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"-18000"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-97"><span class="crayon-h">        </span><span class="crayon-s">"verified"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">true</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-98"><span class="crayon-h">        </span><span class="crayon-s">"withheldInCountries"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">null</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-99"><span class="crayon-h">      </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-100"><span class="crayon-h">      </span><span class="crayon-s">"userMentionEntities"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-sy">]</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-101"><span class="crayon-h">      </span><span class="crayon-s">"withheldInCountries"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">null</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-102"><span class="crayon-h">    </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-103"><span class="crayon-h">  </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a27221587572-104"><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a27221587572-105"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0198 seconds] -->
<p>
<h2>Top 5 Tweeting Days</h2>
<p>After the basic queries are out of the way, let’s look at some interesting data now.</p>
<p>What are the top 5 days on which @realDonaldTrump tweeted and the tweet count?</p>
<p><strong>Query:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6a3d392263521" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
SELECT SUBSTR(MILLIS_TO_STR(TO_NUM(createdAt)), 0, 10) tweet_date, 
       COUNT(1) tweet_count
FROM   twitter 
GROUP  BY SUBSTR(MILLIS_TO_STR(TO_NUM(createdAt)), 0, 10) 
ORDER  BY COUNT(1) DESC 
LIMIT  5;
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6a3d392263521-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a3d392263521-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a3d392263521-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a3d392263521-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a3d392263521-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a3d392263521-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a3d392263521-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a3d392263521-8">8</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6a3d392263521-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a3d392263521-2"><span class="crayon-e">SELECT </span><span class="crayon-e">SUBSTR</span><span class="crayon-sy">(</span><span class="crayon-e">MILLIS_TO_STR</span><span class="crayon-sy">(</span><span class="crayon-e">TO_NUM</span><span class="crayon-sy">(</span><span class="crayon-v">createdAt</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">0</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">10</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">tweet_date</span><span class="crayon-sy">,</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54b6a3d392263521-3"><span class="crayon-h">       </span><span class="crayon-e">COUNT</span><span class="crayon-sy">(</span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-e">tweet_count</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a3d392263521-4"><span class="crayon-e">FROM   </span><span class="crayon-e">twitter </span></div><div class="crayon-line" id="crayon-5cfd1e54b6a3d392263521-5"><span class="crayon-e">GROUP  </span><span class="crayon-e">BY </span><span class="crayon-e">SUBSTR</span><span class="crayon-sy">(</span><span class="crayon-e">MILLIS_TO_STR</span><span class="crayon-sy">(</span><span class="crayon-e">TO_NUM</span><span class="crayon-sy">(</span><span class="crayon-v">createdAt</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">0</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">10</span><span class="crayon-sy">)</span><span class="crayon-h"> </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a3d392263521-6"><span class="crayon-e">ORDER  </span><span class="crayon-e">BY </span><span class="crayon-e">COUNT</span><span class="crayon-sy">(</span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-e">DESC </span></div><div class="crayon-line" id="crayon-5cfd1e54b6a3d392263521-7"><span class="crayon-i">LIMIT</span><span class="crayon-h">  </span><span class="crayon-cn">5</span><span class="crayon-sy">;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a3d392263521-8"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0023 seconds] -->
<p>
Usual <code>GROUP BY</code> and <code>ORDER BY</code> SQL clauses perform the same function.</p>
<p>N1QL Functions apply a function to values. The <code>createdAt</code> field is returned a number as a String. <code>TO_NUM</code> function converts the String to a number. <code>MILLIS_TO_STR</code> function converts the String to a date. Finally, <code>SUBSTR</code> function extracts the relevant part of the date.</p>
<p><strong>Results:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6a4d165692310" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
[
  {
    "tweet_count": 13,
    "tweet_date": "2017-01-17"
  },
  {
    "tweet_count": 12,
    "tweet_date": "2017-01-06"
  },
  {
    "tweet_count": 11,
    "tweet_date": "2016-12-04"
  },
  {
    "tweet_count": 10,
    "tweet_date": "2017-01-03"
  },
  {
    "tweet_count": 10,
    "tweet_date": "2017-01-04"
  }
]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6a4d165692310-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a4d165692310-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a4d165692310-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a4d165692310-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a4d165692310-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a4d165692310-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a4d165692310-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a4d165692310-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a4d165692310-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a4d165692310-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a4d165692310-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a4d165692310-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a4d165692310-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a4d165692310-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a4d165692310-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a4d165692310-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a4d165692310-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a4d165692310-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a4d165692310-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a4d165692310-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a4d165692310-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a4d165692310-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a4d165692310-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a4d165692310-24">24</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6a4d165692310-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a4d165692310-2"><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a4d165692310-3"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a4d165692310-4"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">13</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a4d165692310-5"><span class="crayon-h">    </span><span class="crayon-s">"tweet_date"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"2017-01-17"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a4d165692310-6"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a4d165692310-7"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a4d165692310-8"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">12</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a4d165692310-9"><span class="crayon-h">    </span><span class="crayon-s">"tweet_date"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"2017-01-06"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a4d165692310-10"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a4d165692310-11"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a4d165692310-12"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">11</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a4d165692310-13"><span class="crayon-h">    </span><span class="crayon-s">"tweet_date"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"2016-12-04"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a4d165692310-14"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a4d165692310-15"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a4d165692310-16"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">10</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a4d165692310-17"><span class="crayon-h">    </span><span class="crayon-s">"tweet_date"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"2017-01-03"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a4d165692310-18"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a4d165692310-19"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a4d165692310-20"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">10</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a4d165692310-21"><span class="crayon-h">    </span><span class="crayon-s">"tweet_date"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"2017-01-04"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a4d165692310-22"><span class="crayon-h">  </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a4d165692310-23"><span class="crayon-sy">]</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a4d165692310-24"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0029 seconds] -->
<p>
Jan 17th, 2017 is the most tweeted day. Now, this result is of course restricted to the data from the JSON documents stored in the database.</p>
<p>Does anybody have a more comprehensive database of @realDonaldTrump tweets?</p>
<h2>Tweet Frequency</h2>
<p>OK, our database shows that that maximum number of tweets in a day were 13. How do I find out how many days @realDonaldTrump tweeted a certain number of times?</p>
<p><strong>Query:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6a5c117568132" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
SELECT a.tweet_count, count(1) days FROM (
SELECT SUBSTR(millis_to_str(to_num(createdAt)), 0, 10) tweet_date, 
       COUNT(1) tweet_count
FROM   twitter 
GROUP  BY SUBSTR(millis_to_str(to_num(createdAt)), 0, 10)
) a
GROUP BY a.tweet_count
ORDER BY a.tweet_count DESC;
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6a5c117568132-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a5c117568132-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a5c117568132-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a5c117568132-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a5c117568132-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a5c117568132-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a5c117568132-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a5c117568132-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a5c117568132-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a5c117568132-10">10</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6a5c117568132-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a5c117568132-2"><span class="crayon-i">SELECT</span><span class="crayon-h"> </span><span class="crayon-v">a</span><span class="crayon-sy">.</span><span class="crayon-v">tweet_count</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-e">count</span><span class="crayon-sy">(</span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-e">days </span><span class="crayon-e">FROM</span><span class="crayon-h"> </span><span class="crayon-sy">(</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a5c117568132-3"><span class="crayon-e">SELECT </span><span class="crayon-e">SUBSTR</span><span class="crayon-sy">(</span><span class="crayon-e">millis_to_str</span><span class="crayon-sy">(</span><span class="crayon-e">to_num</span><span class="crayon-sy">(</span><span class="crayon-v">createdAt</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">0</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">10</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">tweet_date</span><span class="crayon-sy">,</span><span class="crayon-h"> </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a5c117568132-4"><span class="crayon-h">       </span><span class="crayon-e">COUNT</span><span class="crayon-sy">(</span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-e">tweet_count</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a5c117568132-5"><span class="crayon-e">FROM   </span><span class="crayon-e">twitter </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a5c117568132-6"><span class="crayon-e">GROUP  </span><span class="crayon-e">BY </span><span class="crayon-e">SUBSTR</span><span class="crayon-sy">(</span><span class="crayon-e">millis_to_str</span><span class="crayon-sy">(</span><span class="crayon-e">to_num</span><span class="crayon-sy">(</span><span class="crayon-v">createdAt</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">0</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">10</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a5c117568132-7"><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-i">a</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a5c117568132-8"><span class="crayon-e">GROUP </span><span class="crayon-i">BY</span><span class="crayon-h"> </span><span class="crayon-v">a</span><span class="crayon-sy">.</span><span class="crayon-e">tweet_count</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a5c117568132-9"><span class="crayon-e">ORDER </span><span class="crayon-i">BY</span><span class="crayon-h"> </span><span class="crayon-v">a</span><span class="crayon-sy">.</span><span class="crayon-e">tweet_count </span><span class="crayon-v">DESC</span><span class="crayon-sy">;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a5c117568132-10"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0028 seconds] -->
<p>
This is easily achieved using N1QL nested queries.</p>
<p><strong>Results:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6a6b513549933" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
[
  {
    "days": 1,
    "tweet_count": 13
  },
  {
    "days": 1,
    "tweet_count": 12
  },
  {
    "days": 1,
    "tweet_count": 11
  },
  {
    "days": 2,
    "tweet_count": 10
  },
  {
    "days": 1,
    "tweet_count": 9
  },
  {
    "days": 7,
    "tweet_count": 8
  },
  {
    "days": 3,
    "tweet_count": 7
  },
  {
    "days": 7,
    "tweet_count": 6
  },
  {
    "days": 5,
    "tweet_count": 5
  },
  {
    "days": 5,
    "tweet_count": 4
  },
  {
    "days": 11,
    "tweet_count": 3
  },
  {
    "days": 3,
    "tweet_count": 2
  },
  {
    "days": 1,
    "tweet_count": 1
  }
]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-26">26</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-28">28</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-29">29</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-30">30</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-31">31</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-32">32</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-33">33</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-34">34</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-35">35</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-36">36</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-37">37</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-38">38</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-39">39</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-40">40</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-41">41</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-42">42</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-43">43</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-44">44</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-45">45</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-46">46</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-47">47</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-48">48</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-49">49</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-50">50</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-51">51</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-52">52</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-53">53</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-54">54</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a6b513549933-55">55</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a6b513549933-56">56</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-2"><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-3"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-4"><span class="crayon-h">    </span><span class="crayon-s">"days"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-5"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">13</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-6"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-7"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-8"><span class="crayon-h">    </span><span class="crayon-s">"days"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-9"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">12</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-10"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-11"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-12"><span class="crayon-h">    </span><span class="crayon-s">"days"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-13"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">11</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-14"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-15"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-16"><span class="crayon-h">    </span><span class="crayon-s">"days"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">2</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-17"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">10</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-18"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-19"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-20"><span class="crayon-h">    </span><span class="crayon-s">"days"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-21"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">9</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-22"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-23"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-24"><span class="crayon-h">    </span><span class="crayon-s">"days"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">7</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-25"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">8</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-26"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-27"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-28"><span class="crayon-h">    </span><span class="crayon-s">"days"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">3</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-29"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">7</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-30"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-31"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-32"><span class="crayon-h">    </span><span class="crayon-s">"days"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">7</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-33"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">6</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-34"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-35"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-36"><span class="crayon-h">    </span><span class="crayon-s">"days"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">5</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-37"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">5</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-38"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-39"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-40"><span class="crayon-h">    </span><span class="crayon-s">"days"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">5</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-41"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">4</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-42"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-43"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-44"><span class="crayon-h">    </span><span class="crayon-s">"days"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">11</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-45"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">3</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-46"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-47"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-48"><span class="crayon-h">    </span><span class="crayon-s">"days"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">3</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-49"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">2</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-50"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-51"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-52"><span class="crayon-h">    </span><span class="crayon-s">"days"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-53"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-54"><span class="crayon-h">  </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a6b513549933-55"><span class="crayon-sy">]</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a6b513549933-56"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0068 seconds] -->
<p>
In 47 days, there is only one day with a single tweet. A sum total of <code>tweet_count</code> shows that there is no single day without a tweet <img alt=":)" class="wp-smiley" src="wp-includes/images/smilies/simple-smile.png" style="height: 1em; max-height: 1em;"/></p>
<h2>Most Common Hour In a Day To Tweet</h2>
<p>@realDonaldTrump is known to tweet at 3am. Let’s take a look what are the most common hours for him to tweet.</p>
<p><strong>Query:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6a7a280610210" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
SELECT SUBSTR(MILLIS_TO_STR(TO_NUM(createdAt)), 11, 2) tweet_hour, 
       COUNT(1) tweet_count
FROM   twitter 
GROUP  BY SUBSTR(MILLIS_TO_STR(TO_NUM(createdAt)), 11, 2) 
ORDER  BY tweet_count DESC 
LIMIT  5;
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6a7a280610210-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a7a280610210-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a7a280610210-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a7a280610210-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a7a280610210-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a7a280610210-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a7a280610210-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a7a280610210-8">8</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6a7a280610210-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a7a280610210-2"><span class="crayon-e">SELECT </span><span class="crayon-e">SUBSTR</span><span class="crayon-sy">(</span><span class="crayon-e">MILLIS_TO_STR</span><span class="crayon-sy">(</span><span class="crayon-e">TO_NUM</span><span class="crayon-sy">(</span><span class="crayon-v">createdAt</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">11</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">2</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">tweet_hour</span><span class="crayon-sy">,</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54b6a7a280610210-3"><span class="crayon-h">       </span><span class="crayon-e">COUNT</span><span class="crayon-sy">(</span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-e">tweet_count</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a7a280610210-4"><span class="crayon-e">FROM   </span><span class="crayon-e">twitter </span></div><div class="crayon-line" id="crayon-5cfd1e54b6a7a280610210-5"><span class="crayon-e">GROUP  </span><span class="crayon-e">BY </span><span class="crayon-e">SUBSTR</span><span class="crayon-sy">(</span><span class="crayon-e">MILLIS_TO_STR</span><span class="crayon-sy">(</span><span class="crayon-e">TO_NUM</span><span class="crayon-sy">(</span><span class="crayon-v">createdAt</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">11</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">2</span><span class="crayon-sy">)</span><span class="crayon-h"> </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a7a280610210-6"><span class="crayon-e">ORDER  </span><span class="crayon-e">BY </span><span class="crayon-e">tweet_count </span><span class="crayon-e">DESC </span></div><div class="crayon-line" id="crayon-5cfd1e54b6a7a280610210-7"><span class="crayon-i">LIMIT</span><span class="crayon-h">  </span><span class="crayon-cn">5</span><span class="crayon-sy">;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a7a280610210-8"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0021 seconds] -->
<p>
<strong>Results:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6a89420526675" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
[
  {
    "tweet_count": 39,
    "tweet_hour": "13"
  },
  {
    "tweet_count": 27,
    "tweet_hour": "12"
  },
  {
    "tweet_count": 26,
    "tweet_hour": "11"
  },
  {
    "tweet_count": 20,
    "tweet_hour": "14"
  },
  {
    "tweet_count": 15,
    "tweet_hour": "00"
  }
]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6a89420526675-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a89420526675-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a89420526675-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a89420526675-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a89420526675-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a89420526675-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a89420526675-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a89420526675-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a89420526675-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a89420526675-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a89420526675-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a89420526675-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a89420526675-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a89420526675-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a89420526675-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a89420526675-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a89420526675-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a89420526675-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a89420526675-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a89420526675-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a89420526675-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a89420526675-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a89420526675-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a89420526675-24">24</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6a89420526675-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a89420526675-2"><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a89420526675-3"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a89420526675-4"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">39</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a89420526675-5"><span class="crayon-h">    </span><span class="crayon-s">"tweet_hour"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"13"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a89420526675-6"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a89420526675-7"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a89420526675-8"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">27</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a89420526675-9"><span class="crayon-h">    </span><span class="crayon-s">"tweet_hour"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"12"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a89420526675-10"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a89420526675-11"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a89420526675-12"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">26</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a89420526675-13"><span class="crayon-h">    </span><span class="crayon-s">"tweet_hour"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"11"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a89420526675-14"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a89420526675-15"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a89420526675-16"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">20</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a89420526675-17"><span class="crayon-h">    </span><span class="crayon-s">"tweet_hour"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"14"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a89420526675-18"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a89420526675-19"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a89420526675-20"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">15</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a89420526675-21"><span class="crayon-h">    </span><span class="crayon-s">"tweet_hour"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"00"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a89420526675-22"><span class="crayon-h">  </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a89420526675-23"><span class="crayon-sy">]</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a89420526675-24"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0028 seconds] -->
<p>
Now seems like the controversial tweets come at 3am. But 39 tweets are coming at 1pm ET, likely right after lunch and while having a dessert 😉</p>
<h2>Common Day of The Week to Tweet</h2>
<p>Let’s find out what are the most common day of the week to tweet.</p>
<p><strong>Query:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6a99991067114" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
SELECT DATE_PART_STR(MILLIS_TO_STR(TO_NUM(createdAt)), "day_of_week") day_of_week, 
       COUNT(1) tweet_count
FROM   twitter 
GROUP  BY DATE_PART_STR(MILLIS_TO_STR(TO_NUM(createdAt)), "day_of_week")
ORDER  BY tweet_count DESC;
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6a99991067114-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a99991067114-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a99991067114-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a99991067114-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a99991067114-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6a99991067114-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6a99991067114-7">7</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6a99991067114-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a99991067114-2"><span class="crayon-e">SELECT </span><span class="crayon-e">DATE_PART_STR</span><span class="crayon-sy">(</span><span class="crayon-e">MILLIS_TO_STR</span><span class="crayon-sy">(</span><span class="crayon-e">TO_NUM</span><span class="crayon-sy">(</span><span class="crayon-v">createdAt</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-s">"day_of_week"</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">day_of_week</span><span class="crayon-sy">,</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54b6a99991067114-3"><span class="crayon-h">       </span><span class="crayon-e">COUNT</span><span class="crayon-sy">(</span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-e">tweet_count</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a99991067114-4"><span class="crayon-e">FROM   </span><span class="crayon-e">twitter </span></div><div class="crayon-line" id="crayon-5cfd1e54b6a99991067114-5"><span class="crayon-e">GROUP  </span><span class="crayon-e">BY </span><span class="crayon-e">DATE_PART_STR</span><span class="crayon-sy">(</span><span class="crayon-e">MILLIS_TO_STR</span><span class="crayon-sy">(</span><span class="crayon-e">TO_NUM</span><span class="crayon-sy">(</span><span class="crayon-v">createdAt</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-s">"day_of_week"</span><span class="crayon-sy">)</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6a99991067114-6"><span class="crayon-e">ORDER  </span><span class="crayon-e">BY </span><span class="crayon-e">tweet_count </span><span class="crayon-v">DESC</span><span class="crayon-sy">;</span></div><div class="crayon-line" id="crayon-5cfd1e54b6a99991067114-7"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0019 seconds] -->
<p>
<code>DATE_PART_STR</code> is a new function returns date part of the date. Further <code>day_of_week</code> attribute is used to get day of the week.</p>
<p><strong>Results:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6aa8877687414" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
[
  {
    "day_of_week": 2,
    "tweet_count": 49
  },
  {
    "day_of_week": 3,
    "tweet_count": 40
  },
  {
    "day_of_week": 0,
    "tweet_count": 40
  },
  {
    "day_of_week": 5,
    "tweet_count": 38
  },
  {
    "day_of_week": 4,
    "tweet_count": 36
  },
  {
    "day_of_week": 6,
    "tweet_count": 33
  },
  {
    "day_of_week": 1,
    "tweet_count": 33
  }
]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-26">26</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-28">28</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-29">29</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-30">30</div><div class="crayon-num" data-line="crayon-5cfd1e54b6aa8877687414-31">31</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6aa8877687414-32">32</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-2"><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-3"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-4"><span class="crayon-h">    </span><span class="crayon-s">"day_of_week"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">2</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-5"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">49</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-6"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-7"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-8"><span class="crayon-h">    </span><span class="crayon-s">"day_of_week"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">3</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-9"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">40</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-10"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-11"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-12"><span class="crayon-h">    </span><span class="crayon-s">"day_of_week"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">0</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-13"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">40</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-14"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-15"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-16"><span class="crayon-h">    </span><span class="crayon-s">"day_of_week"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">5</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-17"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">38</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-18"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-19"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-20"><span class="crayon-h">    </span><span class="crayon-s">"day_of_week"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">4</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-21"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">36</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-22"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-23"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-24"><span class="crayon-h">    </span><span class="crayon-s">"day_of_week"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">6</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-25"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">33</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-26"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-27"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-28"><span class="crayon-h">    </span><span class="crayon-s">"day_of_week"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-29"><span class="crayon-h">    </span><span class="crayon-s">"tweet_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">33</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-30"><span class="crayon-h">  </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b6aa8877687414-31"><span class="crayon-sy">]</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6aa8877687414-32"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0039 seconds] -->
<p>
Seems like Tuesday is the most common day to tweet. Then comes Sunday and Wednesday at the same level. The performance tends to fizzle out closer to the weekend.</p>
<p>Here is a nice chart that shows the same trend:</p>
<p><a href="wp-content/uploads/2017/01/realdonaldtrump-tweets-per-day.png"><img alt="realdonaldtrump-tweets-per-day" class="alignnone size-full wp-image-14568" height="677" src="wp-content/uploads/2017/01/realdonaldtrump-tweets-per-day.png" width="814"/></a></p>
<p>#22417 should allow to report the weekday part in English.</p>
<h2>Top 5 Mentions in Tweets</h2>
<p><strong>Query:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6ab7869802866" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
SELECT COUNT(1) user_count, ue.screenName 
    FROM twitter 
    UNNEST userMentionEntities ue 
    GROUP by ue.screenName 
    ORDER by user_count DESC
    LIMIT 5;
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6ab7869802866-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ab7869802866-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ab7869802866-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ab7869802866-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ab7869802866-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ab7869802866-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ab7869802866-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ab7869802866-8">8</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6ab7869802866-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ab7869802866-2"><span class="crayon-e">SELECT </span><span class="crayon-e">COUNT</span><span class="crayon-sy">(</span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">user_count</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">ue</span><span class="crayon-sy">.</span><span class="crayon-e">screenName </span></div><div class="crayon-line" id="crayon-5cfd1e54b6ab7869802866-3"><span class="crayon-e">    </span><span class="crayon-e">FROM </span><span class="crayon-e">twitter </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ab7869802866-4"><span class="crayon-e">    </span><span class="crayon-e">UNNEST </span><span class="crayon-e">userMentionEntities </span><span class="crayon-e">ue </span></div><div class="crayon-line" id="crayon-5cfd1e54b6ab7869802866-5"><span class="crayon-e">    </span><span class="crayon-e">GROUP </span><span class="crayon-e">by </span><span class="crayon-v">ue</span><span class="crayon-sy">.</span><span class="crayon-e">screenName </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ab7869802866-6"><span class="crayon-e">    </span><span class="crayon-e">ORDER </span><span class="crayon-e">by </span><span class="crayon-e">user_count </span><span class="crayon-e">DESC</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ab7869802866-7"><span class="crayon-e">    </span><span class="crayon-i">LIMIT</span><span class="crayon-h"> </span><span class="crayon-cn">5</span><span class="crayon-sy">;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ab7869802866-8"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0013 seconds] -->
<p>
<code>userMentionEntities</code> is a nested array in the JSON document. <code>UNNEST</code> conceptually performs a join of the nested array with its parent object. Each resulting joined object becomes an input to the query.</p>
<p><strong>Results:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6ac6452056175" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
[
  {
    "screenName": "realDonaldTrump",
    "user_count": 11
  },
  {
    "screenName": "FoxNews",
    "user_count": 7
  },
  {
    "screenName": "CNN",
    "user_count": 6
  },
  {
    "screenName": "NBCNews",
    "user_count": 5
  },
  {
    "screenName": "DanScavino",
    "user_count": 5
  }
]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6ac6452056175-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ac6452056175-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ac6452056175-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ac6452056175-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ac6452056175-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ac6452056175-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ac6452056175-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ac6452056175-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ac6452056175-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ac6452056175-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ac6452056175-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ac6452056175-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ac6452056175-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ac6452056175-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ac6452056175-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ac6452056175-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ac6452056175-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ac6452056175-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ac6452056175-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ac6452056175-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ac6452056175-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ac6452056175-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ac6452056175-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ac6452056175-24">24</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6ac6452056175-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ac6452056175-2"><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ac6452056175-3"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ac6452056175-4"><span class="crayon-h">    </span><span class="crayon-s">"screenName"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"realDonaldTrump"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ac6452056175-5"><span class="crayon-h">    </span><span class="crayon-s">"user_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">11</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ac6452056175-6"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ac6452056175-7"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ac6452056175-8"><span class="crayon-h">    </span><span class="crayon-s">"screenName"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"FoxNews"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ac6452056175-9"><span class="crayon-h">    </span><span class="crayon-s">"user_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">7</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ac6452056175-10"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ac6452056175-11"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ac6452056175-12"><span class="crayon-h">    </span><span class="crayon-s">"screenName"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"CNN"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ac6452056175-13"><span class="crayon-h">    </span><span class="crayon-s">"user_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">6</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ac6452056175-14"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ac6452056175-15"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ac6452056175-16"><span class="crayon-h">    </span><span class="crayon-s">"screenName"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"NBCNews"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ac6452056175-17"><span class="crayon-h">    </span><span class="crayon-s">"user_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">5</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ac6452056175-18"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ac6452056175-19"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ac6452056175-20"><span class="crayon-h">    </span><span class="crayon-s">"screenName"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"DanScavino"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ac6452056175-21"><span class="crayon-h">    </span><span class="crayon-s">"user_count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">5</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ac6452056175-22"><span class="crayon-h">  </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ac6452056175-23"><span class="crayon-sy">]</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ac6452056175-24"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0028 seconds] -->
<p>
Needless to say, he mentions his own name the most in tweets! And his two favorite TV stations Fox News and CNN.</p>
<h2>Top 5 Tweets with RTs</h2>
<p>Lambda Function wakes up every 3 hours and fetches the latest tweets. So the database is a snapshot of tweets and associated information such as RTs and Favorites. So depending upon when the tweet was archived, the RTs and Favorites may not be an accurate representation. But given this information, let’s take a look at the tweets with most RTs.</p>
<p><strong>Query:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6ad6264297668" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
SELECT retweetCount, text
FROM twitter
ORDER BY retweetCount
LIMIT 5;
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6ad6264297668-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ad6264297668-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ad6264297668-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ad6264297668-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ad6264297668-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ad6264297668-6">6</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6ad6264297668-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ad6264297668-2"><span class="crayon-e">SELECT </span><span class="crayon-v">retweetCount</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-e">text</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ad6264297668-3"><span class="crayon-e">FROM </span><span class="crayon-e">twitter</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ad6264297668-4"><span class="crayon-e">ORDER </span><span class="crayon-e">BY </span><span class="crayon-e">retweetCount</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ad6264297668-5"><span class="crayon-i">LIMIT</span><span class="crayon-h"> </span><span class="crayon-cn">5</span><span class="crayon-sy">;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ad6264297668-6"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0008 seconds] -->
<p>
Pretty straight forward query.</p>
<p><strong>Results:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6ae4574699377" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
[
  {
    "retweetCount": "10110",
    "text": "the American people. I have no doubt that we will, together, MAKE AMERICA GREAT AGAIN!"
  },
  {
    "retweetCount": "10140",
    "text": "Thank you to all of the men and women who protect &amp; serve our communities 24/7/365! \n#LawEnforcementAppreciationDay… https://t.co/aqUbDipSgv"
  },
  {
    "retweetCount": "10370",
    "text": "We had a great News Conference at Trump Tower today. A couple of FAKE NEWS organizations were there but the people truly get what's going on"
  },
  {
    "retweetCount": "10414",
    "text": "these companies are able to move between all 50 states, with no tax or tariff being charged. Please be forewarned prior to making a very ..."
  },
  {
    "retweetCount": "10416",
    "text": "Somebody hacked the DNC but why did they not have \"hacking defense\" like the RNC has and why have they not responded to the terrible......"
  }
]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6ae4574699377-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ae4574699377-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ae4574699377-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ae4574699377-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ae4574699377-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ae4574699377-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ae4574699377-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ae4574699377-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ae4574699377-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ae4574699377-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ae4574699377-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ae4574699377-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ae4574699377-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ae4574699377-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ae4574699377-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ae4574699377-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ae4574699377-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ae4574699377-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ae4574699377-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ae4574699377-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ae4574699377-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ae4574699377-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54b6ae4574699377-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6ae4574699377-24">24</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6ae4574699377-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ae4574699377-2"><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ae4574699377-3"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ae4574699377-4"><span class="crayon-h">    </span><span class="crayon-s">"retweetCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"10110"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ae4574699377-5"><span class="crayon-h">    </span><span class="crayon-s">"text"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"the American people. I have no doubt that we will, together, MAKE AMERICA GREAT AGAIN!"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ae4574699377-6"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ae4574699377-7"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ae4574699377-8"><span class="crayon-h">    </span><span class="crayon-s">"retweetCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"10140"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ae4574699377-9"><span class="crayon-h">    </span><span class="crayon-s">"text"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"Thank you to all of the men and women who protect &amp; serve our communities 24/7/365! \n#LawEnforcementAppreciationDay… https://t.co/aqUbDipSgv"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ae4574699377-10"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ae4574699377-11"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ae4574699377-12"><span class="crayon-h">    </span><span class="crayon-s">"retweetCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"10370"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ae4574699377-13"><span class="crayon-h">    </span><span class="crayon-s">"text"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"We had a great News Conference at Trump Tower today. A couple of FAKE NEWS organizations were there but the people truly get what's going on"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ae4574699377-14"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ae4574699377-15"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ae4574699377-16"><span class="crayon-h">    </span><span class="crayon-s">"retweetCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"10414"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ae4574699377-17"><span class="crayon-h">    </span><span class="crayon-s">"text"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"these companies are able to move between all 50 states, with no tax or tariff being charged. Please be forewarned prior to making a very ..."</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ae4574699377-18"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ae4574699377-19"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ae4574699377-20"><span class="crayon-h">    </span><span class="crayon-s">"retweetCount"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"10416"</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ae4574699377-21"><span class="crayon-h">    </span><span class="crayon-s">"text"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"Somebody hacked the DNC but why did they not have \"hacking defense\" like the RNC has and why have they not responded to the terrible......"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ae4574699377-22"><span class="crayon-h">  </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b6ae4574699377-23"><span class="crayon-sy">]</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6ae4574699377-24"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0032 seconds] -->
<p>
<h2>Original vs RTs</h2>
<p>How many of tweets were written vs retweeted?</p>
<p><strong>Query:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6af5091687544" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
SELECT retweet, count(1) count
FROM twitter
GROUP BY retweet;
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6af5091687544-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6af5091687544-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6af5091687544-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6af5091687544-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6af5091687544-5">5</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6af5091687544-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6af5091687544-2"><span class="crayon-e">SELECT </span><span class="crayon-v">retweet</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-e">count</span><span class="crayon-sy">(</span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-e">count</span></div><div class="crayon-line" id="crayon-5cfd1e54b6af5091687544-3"><span class="crayon-e">FROM </span><span class="crayon-e">twitter</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6af5091687544-4"><span class="crayon-e">GROUP </span><span class="crayon-e">BY </span><span class="crayon-v">retweet</span><span class="crayon-sy">;</span></div><div class="crayon-line" id="crayon-5cfd1e54b6af5091687544-5"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0008 seconds] -->
<p>
<strong>Results:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6b04965048296" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
[
  {
    "count": 253,
    "retweet": false
  },
  {
    "count": 15,
    "retweet": true
  }
]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6b04965048296-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b04965048296-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b04965048296-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b04965048296-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b04965048296-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b04965048296-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b04965048296-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b04965048296-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b04965048296-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b04965048296-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b04965048296-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b04965048296-12">12</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6b04965048296-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b04965048296-2"><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b04965048296-3"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b04965048296-4"><span class="crayon-h">    </span><span class="crayon-s">"count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">253</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b04965048296-5"><span class="crayon-h">    </span><span class="crayon-s">"retweet"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">false</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b04965048296-6"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b04965048296-7"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b04965048296-8"><span class="crayon-h">    </span><span class="crayon-s">"count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">15</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b04965048296-9"><span class="crayon-h">    </span><span class="crayon-s">"retweet"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">true</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b04965048296-10"><span class="crayon-h">  </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b04965048296-11"><span class="crayon-sy">]</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b04965048296-12"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0013 seconds] -->
<p>
Most of the tweets are original with only a few RTs.</p>
<h2>Most Common Words in Tweet</h2>
<p><strong>Query:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6b13609006841" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
SELECT COUNT(1) count, word 
FROM twitter 
UNNEST SPLIT(text) word
GROUP BY word
ORDER BY count DESC;
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6b13609006841-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b13609006841-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b13609006841-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b13609006841-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b13609006841-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b13609006841-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b13609006841-7">7</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6b13609006841-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b13609006841-2"><span class="crayon-e">SELECT </span><span class="crayon-e">COUNT</span><span class="crayon-sy">(</span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">count</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-t">word</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54b6b13609006841-3"><span class="crayon-e">FROM </span><span class="crayon-e">twitter </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b13609006841-4"><span class="crayon-e">UNNEST </span><span class="crayon-e">SPLIT</span><span class="crayon-sy">(</span><span class="crayon-v">text</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-t">word</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b13609006841-5"><span class="crayon-e">GROUP </span><span class="crayon-e">BY </span><span class="crayon-t">word</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b13609006841-6"><span class="crayon-e">ORDER </span><span class="crayon-e">BY </span><span class="crayon-e">count </span><span class="crayon-v">DESC</span><span class="crayon-sy">;</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b13609006841-7"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0012 seconds] -->
<p>
This query uses <code>SPLIT</code> function that</p>
<p>Results:</p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6b22948568176" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
[
  {
    "count": 189,
    "word": "the"
  },
  {
    "count": 151,
    "word": "to"
  },
  {
    "count": 115,
    "word": "and"
  },
  . . .
  {
    "count": 1,
    "word": "presented...Trump's"
  },
  {
    "count": 1,
    "word": "jobs."
  },
  {
    "count": 1,
    "word": "Doing"
  }
]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-16">16</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-18">18</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-20">20</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-22">22</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-24">24</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-26">26</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-28">28</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-29">29</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b22948568176-30">30</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b22948568176-31">31</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-2"><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-3"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-4"><span class="crayon-h">    </span><span class="crayon-s">"count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">189</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-5"><span class="crayon-h">    </span><span class="crayon-s">"word"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"the"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-6"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-7"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-8"><span class="crayon-h">    </span><span class="crayon-s">"count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">151</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-9"><span class="crayon-h">    </span><span class="crayon-s">"word"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"to"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-10"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-11"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-12"><span class="crayon-h">    </span><span class="crayon-s">"count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">115</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-13"><span class="crayon-h">    </span><span class="crayon-s">"word"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"and"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-14"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-15"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-16"><span class="crayon-h">  </span><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-17"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-18"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-19"><span class="crayon-h">    </span><span class="crayon-s">"count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-20"><span class="crayon-h">    </span><span class="crayon-s">"word"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"presented...Trump's"</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-21"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-22"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-23"><span class="crayon-h">    </span><span class="crayon-s">"count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-24"><span class="crayon-h">    </span><span class="crayon-s">"word"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"jobs."</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-25"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-26"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-27"><span class="crayon-h">    </span><span class="crayon-s">"count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-28"><span class="crayon-h">    </span><span class="crayon-s">"word"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"Doing"</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-29"><span class="crayon-h">  </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b22948568176-30"><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b22948568176-31"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0035 seconds] -->
<p>
<h2>Frequency of words “media”, “fake” and “America” in tweets</h2>
<p><strong>Query:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6b47030736252" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
SELECT COUNT(1) count, LOWER(w) word
FROM twitter  
UNNEST SPLIT(text) w  
WHERE LOWER(w) IN [ "media", "fake", "america"] 
GROUP by LOWER(w) 
ORDER BY count DESC;
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6b47030736252-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b47030736252-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b47030736252-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b47030736252-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b47030736252-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b47030736252-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b47030736252-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b47030736252-8">8</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6b47030736252-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b47030736252-2"><span class="crayon-e">SELECT </span><span class="crayon-e">COUNT</span><span class="crayon-sy">(</span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-v">count</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-e">LOWER</span><span class="crayon-sy">(</span><span class="crayon-v">w</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-t">word</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b47030736252-3"><span class="crayon-e">FROM </span><span class="crayon-e">twitter  </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b47030736252-4"><span class="crayon-e">UNNEST </span><span class="crayon-e">SPLIT</span><span class="crayon-sy">(</span><span class="crayon-v">text</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-i">w</span><span class="crayon-h">  </span></div><div class="crayon-line" id="crayon-5cfd1e54b6b47030736252-5"><span class="crayon-e">WHERE </span><span class="crayon-e">LOWER</span><span class="crayon-sy">(</span><span class="crayon-v">w</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-st">IN</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-h"> </span><span class="crayon-s">"media"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-s">"fake"</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-s">"america"</span><span class="crayon-sy">]</span><span class="crayon-h"> </span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b47030736252-6"><span class="crayon-e">GROUP </span><span class="crayon-e">by </span><span class="crayon-e">LOWER</span><span class="crayon-sy">(</span><span class="crayon-v">w</span><span class="crayon-sy">)</span><span class="crayon-h"> </span></div><div class="crayon-line" id="crayon-5cfd1e54b6b47030736252-7"><span class="crayon-e">ORDER </span><span class="crayon-e">BY </span><span class="crayon-e">count </span><span class="crayon-v">DESC</span><span class="crayon-sy">;</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b47030736252-8"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0020 seconds] -->
<p>
<code>LOWER</code> function is used to compare words independent of the case.</p>
<p><strong>Result:</strong></p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->
<div class="crayon-syntax crayon-theme-coda-special-board crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover wrap" id="crayon-5cfd1e54b6b57898334474" style=" margin-top: 20px; margin-bottom: 20px; font-size: 12px !important; line-height: 15px !important;">
<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
<div class="crayon-plain-wrap"><textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
[
  {
    "count": 12,
    "word": "media"
  },
  {
    "count": 9,
    "word": "fake"
  },
  {
    "count": 8,
    "word": "america"
  }
]
</textarea></div>
<div class="crayon-main" style="">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums" data-settings="hide">
<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5cfd1e54b6b57898334474-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b57898334474-2">2</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b57898334474-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b57898334474-4">4</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b57898334474-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b57898334474-6">6</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b57898334474-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b57898334474-8">8</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b57898334474-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b57898334474-10">10</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b57898334474-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b57898334474-12">12</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b57898334474-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b57898334474-14">14</div><div class="crayon-num" data-line="crayon-5cfd1e54b6b57898334474-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-5cfd1e54b6b57898334474-16">16</div></div>
</td>
<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5cfd1e54b6b57898334474-1"> </div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b57898334474-2"><span class="crayon-sy">[</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b57898334474-3"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b57898334474-4"><span class="crayon-h">    </span><span class="crayon-s">"count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">12</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b57898334474-5"><span class="crayon-h">    </span><span class="crayon-s">"word"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"media"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b57898334474-6"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b57898334474-7"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b57898334474-8"><span class="crayon-h">    </span><span class="crayon-s">"count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">9</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b57898334474-9"><span class="crayon-h">    </span><span class="crayon-s">"word"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"fake"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b57898334474-10"><span class="crayon-h">  </span><span class="crayon-sy">}</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b57898334474-11"><span class="crayon-h">  </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b57898334474-12"><span class="crayon-h">    </span><span class="crayon-s">"count"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-cn">8</span><span class="crayon-sy">,</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b57898334474-13"><span class="crayon-h">    </span><span class="crayon-s">"word"</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-s">"america"</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b57898334474-14"><span class="crayon-h">  </span><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-5cfd1e54b6b57898334474-15"><span class="crayon-sy">]</span></div><div class="crayon-line crayon-striped-line" id="crayon-5cfd1e54b6b57898334474-16"> </div></div></td>
</tr>
</table>
</div>
</div>
<!-- [Format Time: 0.0018 seconds] -->
<p>
Lambda function will continue to store tweets in the database.</p>
<h2>Try these queries yourself?</h2>
<ul>
<li>Start a Couchbase Server</li>
<li>Use the archive <a href="/">twitter-backups-2017-01-20-06-07-49.tar</a> as explained at Restore Data To Couchbase</li>
<li>Use Query Workbench to fire the queries</li>
</ul>
<h2>N1QL References</h2>
<ul>
<li>N1QL Interactive Tutorial</li>
<li><a href="files/Couchbase-N1QL-CheatSheet.pdf">N1QL Cheatsheet</a></li>
<li>N1QL Language Reference</li>
<li>Run Your First N1QL Query</li>
</ul>
<p>Source: https://blog.couchbase.com/2017/january/analyze-donald-trump-tweets-couchbase-n1ql</p>
</p></p></p></div><!-- .entry-content -->
<footer class="entry-meta">
<div class="comments-link">
<a href="analyze-donald-trump-tweets-n1ql/#comments">View all 28 comments</a> </div><!-- .comments-link -->
</footer><!-- .entry-meta -->
</article><!-- #post -->
<nav class="navigation paging-navigation" role="navigation">
<h1 class="screen-reader-text">Posts navigation</h1>
<div class="nav-links">
<div class="nav-previous"><a href="page/2/"><span class="meta-nav">←</span> Older posts</a></div>
</div><!-- .nav-links -->
</nav><!-- .navigation -->
</div><!-- #content -->
</div><!-- #primary -->
</div><!-- #main -->
<footer class="site-footer" id="colophon" role="contentinfo">
<div class="site-info">
<a href="http://wordpress.org/" title="Semantic Personal Publishing Platform">Proudly powered by WordPress</a>
</div><!-- .site-info -->
</footer><!-- #colophon -->
<!-- #page -->
<script type="text/javascript">
var colomatduration = 'fast';
var colomatslideEffect = 'slideFade';
</script>
<script type="text/javascript">
/* <![CDATA[ */
r3f5x9JS=escape(document['referrer']);
hf4N='ca5357dfdb2ba7017077f9dae2426b25';
hf4V='fe29aa0142c55b537ee00404b3215d0d';
jQuery(document).ready(function($){var e="#commentform, .comment-respond form, .comment-form, #lostpasswordform, #registerform, #loginform, #login_form, #wpss_contact_form";$(e).submit(function(){$("<input>").attr("type","hidden").attr("name","r3f5x9JS").attr("value",r3f5x9JS).appendTo(e);$("<input>").attr("type","hidden").attr("name",hf4N).attr("value",hf4V).appendTo(e);return true;});$("#comment").attr({minlength:"15",maxlength:"15360"})});
/* ]]> */
</script>
<script src="wp-includes/js/jquery/ui/core.min_ver-1.11.4.js" type="text/javascript"></script>
<script src="wp-includes/js/jquery/ui/widget.min_ver-1.11.4.js" type="text/javascript"></script>
<script src="wp-includes/js/jquery/ui/position.min_ver-1.11.4.js" type="text/javascript"></script>
<script src="wp-includes/js/jquery/ui/menu.min_ver-1.11.4.js" type="text/javascript"></script>
<script src="wp-includes/js/jquery/ui/autocomplete.min_ver-1.11.4.js" type="text/javascript"></script>
<script src="wp-includes/js/jquery/ui/mouse.min_ver-1.11.4.js" type="text/javascript"></script>
<script src="wp-includes/js/jquery/ui/sortable.min_ver-1.11.4.js" type="text/javascript"></script>
<script src="wp-content/plugins/jquery-collapse-o-matic/js/collapse_ver-1.6.6.js" type="text/javascript"></script>
<script src="wp-content/themes/twentythirteen/js/functions_ver-20150330.js" type="text/javascript"></script>
<script src="wp-content/plugins/wp-spamshield/js/jscripts-ftr-min.js" type="text/javascript"></script>
</body>
</html>