{"id":2510,"date":"2017-01-24T09:14:10","date_gmt":"2017-01-24T09:14:09","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2510"},"modified":"2023-08-10T23:41:59","modified_gmt":"2023-08-11T06:41:59","slug":"couchbase-cluster-docker","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-cluster-docker\/","title":{"rendered":"Cluster do Couchbase usando o Docker"},"content":{"rendered":"<p><a href=\"https:\/\/www.couchbase.com\/blog\/docker-service-swarm-mode-couchbase-cluster\/\">Docker Swarm and Service\u00a0Mode to create Couchbase Cluster<\/a>\u00a0explained how to create a Couchbase Cluster using Docker. It used the concept of a &#8220;master&#8221; and a &#8220;worker&#8221; service to simplify and automate the creation of cluster. The homogenous cluster was then created as shown in the architecture diagram below:<br \/>\n<a href=\"https:\/\/blog.arungupta.me\/wp-content\/uploads\/2016\/09\/docker-service-couchbase-cluster.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14254\" src=\"https:\/\/blog.arungupta.me\/wp-content\/uploads\/2016\/09\/docker-service-couchbase-cluster-1024x521.png\" alt=\"docker-service-couchbase-cluster\" width=\"604\" height=\"307\" \/><\/a><br \/>\nComplete details\u00a0and background are in the\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/docker-service-swarm-mode-couchbase-cluster\/\">Couchbase Cluster using Docker<\/a> blog.<\/p>\n<p><a href=\"https:\/\/blog.docker.com\/2017\/01\/whats-new-in-docker-1-13\/\">Docker 1.13<\/a> was released last week. A new feature in that release allows to <a href=\"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/\">deploy multi-container application defined using Docker Compose to multi-host<\/a> enabled using Swarm mode. Ideally, we&#8217;d like to have a single <a href=\"https:\/\/www.couchbase.com\/blog\/couchbase-using-docker-compose\/\">Docker Compose<\/a> definition that allows to start &#8220;master&#8221; service and start\/scale &#8220;worker&#8221; service. But the &#8220;master&#8221; service, more importantly the container within the service, needs to be fully up before the &#8220;worker&#8221; service can be started. This is because the containers in the &#8220;worker&#8221; service register with the container in the &#8220;master&#8221; service to create the cluster. This typically require a bit of handcrafting as defined at <a href=\"https:\/\/docs.docker.com\/compose\/startup-order\/\">Controlling Startup Order in Compose<\/a>. So we&#8217;ll come back to that version later.<\/p>\n<p>This blog will provide a quick\u00a0refresh of the steps\u00a0from the original using Docker 1.13. Read this blog for a quick how and the\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/docker-service-swarm-mode-couchbase-cluster\/\">original blog<\/a> for more details\u00a0on why.<\/p>\n<p>Create network:<\/p>\n<pre class=\"lang:default decode:true\">docker network create \r\n-d overlay \r\ncouchbase<\/pre>\n<p>Check the created network using <code>docker network ls<\/code> command:<\/p>\n<pre class=\"lang:default decode:true\">NETWORK ID          NAME                DRIVER              SCOPE\r\n20a28d56f140        bridge              bridge              local\r\n5maq7fyqdemx        couchbase           overlay             swarm\r\ncd14345ec130        docker_gwbridge     bridge              local\r\n46a19cdead82        host                host                local\r\np1kbq62oxmn9        ingress             overlay             swarm\r\n1b64333f45ec        none                null                local<\/pre>\n<p>Create Couchbase &#8220;master&#8221; service:<\/p>\n<pre class=\"lang:default decode:true\">docker service create \r\n--name couchbase-master \r\n--replicas 1 \r\n-p 8091:8091 \r\n--network couchbase \r\n-e TYPE=MASTER \r\narungupta\/couchbase<\/pre>\n<p>Check the created service using <code>docker service ls<\/code> command:<\/p>\n<pre class=\"lang:default decode:true\">ID            NAME              MODE        REPLICAS  IMAGE\r\nv5m0owjs4qo3  couchbase-master  replicated  1\/1       arungupta\/couchbase:latest<\/pre>\n<p>Create Couchbase &#8220;worker&#8221; service:<\/p>\n<pre class=\"lang:default decode:true\">docker service create \r\n--name couchbase-worker \r\n--replicas 1 \r\n--network couchbase \r\n-e TYPE=WORKER \r\n-e COUCHBASE_MASTER=couchbase-master.couchbase \r\n-e AUTO_REBALANCE=false \r\narungupta\/couchbase<\/pre>\n<p>Check the created service again using <code>docker service ls<\/code> command:<\/p>\n<pre class=\"lang:default decode:true\">ID            NAME              MODE        REPLICAS  IMAGE\r\nv5m0owjs4qo3  couchbase-master  replicated  1\/1       arungupta\/couchbase:latest\r\nzqqqk76cu1jw  couchbase-worker  replicated  1\/1       arungupta\/couchbase:latest<\/pre>\n<p>Check the\u00a0worker service logs using newly introduced command\u00a0<code>docker service logs couchbase-worker<\/code> command. This command, newly introduced in Docker 1.13, pulls logs from all containers in the service and streams them to your console. There is no need to track down which containers are running on which hosts.<\/p>\n<pre class=\"lang:default decode:true\">couchbase-worker.1.3x52hro26166@moby    | ++ set -m\r\ncouchbase-worker.1.3x52hro26166@moby    | ++ sleep 15\r\ncouchbase-worker.1.3x52hro26166@moby    | ++ \/entrypoint.sh couchbase-server\r\ncouchbase-worker.1.3x52hro26166@moby    | Starting Couchbase Server -- Web UI available at https:\/\/:8091 and logs available in \/opt\/couchbase\/var\/lib\/couchbase\/logs\r\ncouchbase-worker.1.3x52hro26166@moby    | ++ curl -v -X POST https:\/\/127.0.0.1:8091\/pools\/default -d memoryQuota=300 -d indexMemoryQuota=300\r\ncouchbase-worker.1.3x52hro26166@moby    | Note: Unnecessary use of -X or --request, POST is already inferred.\r\ncouchbase-worker.1.3x52hro26166@moby    | *   Trying 127.0.0.1...\r\ncouchbase-worker.1.3x52hro26166@moby    |   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\r\ncouchbase-worker.1.3x52hro26166@moby    |                                  Dload  Upload   Total   Spent    Left  Speed\r\n  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to 127.0.0.1 (127.0.0.1) port 8091 (#0)\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; POST \/pools\/default HTTP\/1.1\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; Host: 127.0.0.1:8091\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; User-Agent: curl\/7.49.1-DEV\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; Accept: *\/*\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; Content-Length: 36\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; Content-Type: application\/x-www-form-urlencoded\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; \r\ncouchbase-worker.1.3x52hro26166@moby    | } [36 bytes data]\r\ncouchbase-worker.1.3x52hro26166@moby    | * upload completely sent off: 36 out of 36 bytes\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; HTTP\/1.1 200 OK\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Server: Couchbase Server\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Pragma: no-cache\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Date: Sun, 22 Jan 2017 22:01:15 GMT\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Content-Length: 0\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Cache-Control: no-cache\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; 100 36 0 0 100 36 0 13057 --:--:-- --:--:-- --:--:-- 18000 couchbase-worker.1.3x52hro26166@moby | * Connection #0 to host 127.0.0.1 left intact couchbase-worker.1.3x52hro26166@moby | ++ curl -v https:\/\/127.0.0.1:8091\/node\/controller\/setupServices -d services=kv%2Cn1ql%2Cindex couchbase-worker.1.3x52hro26166@moby | * Trying 127.0.0.1... couchbase-worker.1.3x52hro26166@moby | % Total % Received % Xferd Average Speed Time Time Time Current couchbase-worker.1.3x52hro26166@moby | Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Connected to 127.0.0.1 (127.0.0.1) port 8091 (#0) couchbase-worker.1.3x52hro26166@moby | &gt; POST \/node\/controller\/setupServices HTTP\/1.1\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; Host: 127.0.0.1:8091\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; User-Agent: curl\/7.49.1-DEV\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; Accept: *\/*\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; Content-Length: 26\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; Content-Type: application\/x-www-form-urlencoded\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; \r\ncouchbase-worker.1.3x52hro26166@moby    | } [26 bytes data]\r\ncouchbase-worker.1.3x52hro26166@moby    | * upload completely sent off: 26 out of 26 bytes\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; HTTP\/1.1 200 OK\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Server: Couchbase Server\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Pragma: no-cache\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Date: Sun, 22 Jan 2017 22:01:15 GMT\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Content-Length: 0\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Cache-Control: no-cache\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; 100 26 0 0 100 26 0 13171 --:--:-- --:--:-- --:--:-- 26000 couchbase-worker.1.3x52hro26166@moby | * Connection #0 to host 127.0.0.1 left intact couchbase-worker.1.3x52hro26166@moby | ++ curl -v https:\/\/127.0.0.1:8091\/settings\/web -d port=8091 -d username=Administrator -d password=password couchbase-worker.1.3x52hro26166@moby | * Trying 127.0.0.1... couchbase-worker.1.3x52hro26166@moby | % Total % Received % Xferd Average Speed Time Time Time Current couchbase-worker.1.3x52hro26166@moby | Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Connected to 127.0.0.1 (127.0.0.1) port 8091 (#0) couchbase-worker.1.3x52hro26166@moby | &gt; POST \/settings\/web HTTP\/1.1\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; Host: 127.0.0.1:8091\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; User-Agent: curl\/7.49.1-DEV\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; Accept: *\/*\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; Content-Length: 50\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; Content-Type: application\/x-www-form-urlencoded\r\ncouchbase-worker.1.3x52hro26166@moby    | &gt; \r\ncouchbase-worker.1.3x52hro26166@moby    | } [50 bytes data]\r\ncouchbase-worker.1.3x52hro26166@moby    | * upload completely sent off: 50 out of 50 bytes\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; HTTP\/1.1 200 OK\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Server: Couchbase Server\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Pragma: no-cache\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Date: Sun, 22 Jan 2017 22:01:15 GMT\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Content-Type: application\/json\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Content-Length: 39\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; Cache-Control: no-cache\r\ncouchbase-worker.1.3x52hro26166@moby    | &lt; \r\ncouchbase-worker.1.3x52hro26166@moby    | { [39 bytes data]\r\n100    89  100    39  100    50   3423   4389 --:--:-- --:--:-- --:--:--  4545\r\ncouchbase-worker.1.3x52hro26166@moby    | * Connection #0 to host 127.0.0.1 left intact\r\ncouchbase-worker.1.3x52hro26166@moby    | ++ curl -i -u Administrator:password -X POST https:\/\/127.0.0.1:8091\/settings\/indexes -d storageMode=memory_optimized\r\ncouchbase-worker.1.3x52hro26166@moby    |   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\r\ncouchbase-worker.1.3x52hro26166@moby    |                                  Dload  Upload   Total   Spent    Left  Speed\r\n100   180  100   152  100    28  13264   2443 --:--:-- --:--:-- --:--:-- 13818\r\ncouchbase-worker.1.3x52hro26166@moby    | {\"newBaseUri\":\"https:\/\/127.0.0.1:8091\/\"}HTTP\/1.1 200 OK\r\ncouchbase-worker.1.3x52hro26166@moby    | Server: Couchbase Server\r\ncouchbase-worker.1.3x52hro26166@moby    | Pragma: no-cache\r\ncouchbase-worker.1.3x52hro26166@moby    | Date: Sun, 22 Jan 2017 22:01:15 GMT\r\ncouchbase-worker.1.3x52hro26166@moby    | Content-Type: application\/json\r\ncouchbase-worker.1.3x52hro26166@moby    | Content-Length: 152\r\ncouchbase-worker.1.3x52hro26166@moby    | Cache-Control: no-cache\r\ncouchbase-worker.1.3x52hro26166@moby    | \r\ncouchbase-worker.1.3x52hro26166@moby    | ++ echo 'Type: WORKER'\r\ncouchbase-worker.1.3x52hro26166@moby    | ++ '[' WORKER = WORKER ']'\r\ncouchbase-worker.1.3x52hro26166@moby    | ++ echo 'Sleeping ...'\r\ncouchbase-worker.1.3x52hro26166@moby    | ++ sleep 15\r\ncouchbase-worker.1.3x52hro26166@moby    | {\"storageMode\":\"memory_optimized\",\"indexerThreads\":0,\"memorySnapshotInterval\":200,\"stableSnapshotInterval\":5000,\"maxRollbackPoints\":5,\"logLevel\":\"info\"}Type: WORKER\r\ncouchbase-worker.1.3x52hro26166@moby    | Sleeping ...\r\ncouchbase-worker.1.3x52hro26166@moby    | +++ hostname -I\r\ncouchbase-worker.1.3x52hro26166@moby    | +++ cut -d ' ' -f1\r\ncouchbase-worker.1.3x52hro26166@moby    | ++ IP=10.0.0.5\r\ncouchbase-worker.1.3x52hro26166@moby    | ++ echo 'IP: ' 10.0.0.5\r\ncouchbase-worker.1.3x52hro26166@moby    | ++ echo 'Auto Rebalance: false'\r\ncouchbase-worker.1.3x52hro26166@moby    | IP:  10.0.0.5\r\ncouchbase-worker.1.3x52hro26166@moby    | ++ '[' false = true ']'\r\ncouchbase-worker.1.3x52hro26166@moby    | ++ couchbase-cli server-add --cluster=couchbase-master.couchbase:8091 --user=Administrator --password=password --server-add=10.0.0.5 --server-add-username=Administrator --server-add-password=password\r\ncouchbase-worker.1.3x52hro26166@moby    | Auto Rebalance: false\r\ncouchbase-worker.1.3x52hro26166@moby    | Warning: Adding server from group-manage is deprecated\r\ncouchbase-worker.1.3x52hro26166@moby    | Server 10.0.0.5:8091 added\r\ncouchbase-worker.1.3x52hro26166@moby    | ++ fg 1\r\ncouchbase-worker.1.3x52hro26166@moby    | \/entrypoint.sh couchbase-server\r\n<\/pre>\n<p>Complete logs show how the &#8220;worker&#8221; service was created and joined the cluster originally created by &#8220;master&#8221;.<\/p>\n<p>Scale the cluster by scaling the Docker service:<\/p>\n<pre class=\"lang:default decode:true\">docker service scale couchbase-worker=2<\/pre>\n<p>Check the service again using <code>docker service ls<\/code> command:<\/p>\n<pre class=\"lang:default decode:true\">ID            NAME              MODE        REPLICAS  IMAGE\r\nv5m0owjs4qo3  couchbase-master  replicated  1\/1       arungupta\/couchbase:latest\r\nzqqqk76cu1jw  couchbase-worker  replicated  2\/2       arungupta\/couchbase:latest<\/pre>\n<p>Now you&#8217;ve a three node Couchbase cluster. Before <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/clustersetup\/rebalance.html\">rebalancing the cluster<\/a>, let&#8217;s quickly check what does <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/admin\/ui-intro.html\">Couchbase Web Console<\/a>\u00a0shows.<\/p>\n<p>Couchbase Web Console\u00a0is\u00a0accessible at <a href=\"https:\/\/localhost:8091\">https:\/\/localhost:8091 <\/a>and\u00a0shows a single Couchbase node with data, index and query service. This node was created using &#8220;master&#8221; service.\u00a0Two additional nodes created using\u00a0&#8220;worker&#8221; service are shown in <code>Pending Rebalance<\/code> tab:<br \/>\n<a href=\"https:\/\/blog.arungupta.me\/wp-content\/uploads\/2017\/01\/docker-couchbase-cluster-1.13-three-nodes.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14581\" src=\"https:\/\/blog.arungupta.me\/wp-content\/uploads\/2017\/01\/docker-couchbase-cluster-1.13-three-nodes-1024x326.png\" alt=\"docker-couchbase-cluster-1.13-three-nodes\" width=\"604\" height=\"192\" \/><\/a><br \/>\nClick on Rebalance to <code>rebalance<\/code> the cluster and see the fully\u00a0rebalanced cluster:<br \/>\n<a href=\"https:\/\/blog.arungupta.me\/wp-content\/uploads\/2017\/01\/docker-couchbase-cluster-1.13-rebalanced.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14580\" src=\"https:\/\/blog.arungupta.me\/wp-content\/uploads\/2017\/01\/docker-couchbase-cluster-1.13-rebalanced-1024x434.png\" alt=\"docker-couchbase-cluster-1.13-rebalanced\" width=\"604\" height=\"256\" \/><\/a><\/p>\n<p>Want to get started with Couchbase? Look at <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5\/getting-started\/starter-kits.html\">Couchbase Starter Kits<\/a>.<\/p>\n<p>Want to learn more about running Couchbase in containers?<\/p>\n<ul>\n<li><a href=\"https:\/\/couchbase.com\/containers\/\">Couchbase on Containers<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/forums\/\">Couchbase Forums<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/developers\/\">Couchbase Developer Portal<\/a><\/li>\n<li><a href=\"https:\/\/twitter.com\/couchbasedev\">@couchhasedev<\/a> and <a href=\"https:\/\/twitter.com\/couchbase\">@couchbase<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Docker Swarm and Service\u00a0Mode to create Couchbase Cluster\u00a0explained how to create a Couchbase Cluster using Docker. It used the concept of a &#8220;master&#8221; and a &#8220;worker&#8221; service to simplify and automate the creation of cluster. The homogenous cluster was then [&hellip;]<\/p>\n","protected":false},"author":58,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816],"tags":[],"ppma_author":[8933],"class_list":["post-2510","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Couchbase Cluster using Docker - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"This post focuses on the Docker Swarm and Service\u00a0Mode to create a Couchbase Cluster\u00a0explained how to create a Couchbase Cluster using Docker.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-cluster-docker\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase Cluster using Docker\" \/>\n<meta property=\"og:description\" content=\"This post focuses on the Docker Swarm and Service\u00a0Mode to create a Couchbase Cluster\u00a0explained how to create a Couchbase Cluster using Docker.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-cluster-docker\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-24T09:14:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-11T06:41:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.arungupta.me\/wp-content\/uploads\/2016\/09\/docker-service-couchbase-cluster-1024x521.png\" \/>\n<meta name=\"author\" content=\"Arun Gupta, VP, Developer Advocacy, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@arungupta\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arun Gupta, VP, Developer Advocacy, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-cluster-docker\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-cluster-docker\\\/\"},\"author\":{\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/39d8caed0f536489b6aa6e8d31ee631f\"},\"headline\":\"Couchbase Cluster using Docker\",\"datePublished\":\"2017-01-24T09:14:09+00:00\",\"dateModified\":\"2023-08-11T06:41:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-cluster-docker\\\/\"},\"wordCount\":420,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-cluster-docker\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Server\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-cluster-docker\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-cluster-docker\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-cluster-docker\\\/\",\"name\":\"Couchbase Cluster using Docker - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-cluster-docker\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-cluster-docker\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-01-24T09:14:09+00:00\",\"dateModified\":\"2023-08-11T06:41:59+00:00\",\"description\":\"This post focuses on the Docker Swarm and Service\u00a0Mode to create a Couchbase Cluster\u00a0explained how to create a Couchbase Cluster using Docker.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-cluster-docker\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-cluster-docker\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-cluster-docker\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-cluster-docker\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase Cluster using Docker\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/39d8caed0f536489b6aa6e8d31ee631f\",\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g8900a75409c646948fe0bd80f6240337\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g\",\"caption\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\"},\"description\":\"Arun Gupta is the vice president of developer advocacy at Couchbase. He has built and led developer communities for 10+ years at Sun, Oracle, and Red Hat. He has deep expertise in leading cross-functional teams to develop and execute strategy, planning and execution of content, marketing campaigns, and programs. Prior to that he led engineering teams at Sun and is a founding member of the Java EE team. Gupta has authored more than 2,000 blog posts on technology. He has extensive speaking experience in more than 40 countries on myriad topics and is a JavaOne Rock Star for three years in a row. Gupta also founded the Devoxx4Kids chapter in the US and continues to promote technology education among children. An author of several books on technology, an avid runner, a globe trotter, a Java Champion, a JUG leader, NetBeans Dream Team member, and a Docker Captain, he is easily accessible at @arungupta.\",\"sameAs\":[\"https:\\\/\\\/x.com\\\/arungupta\"],\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/pt\\\/author\\\/arun-gupta\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase Cluster using Docker - The Couchbase Blog","description":"Esta postagem se concentra no Docker Swarm e no Modo de servi\u00e7o para criar um cluster do Couchbase e explica como criar um cluster do Couchbase usando o Docker.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-cluster-docker\/","og_locale":"pt_BR","og_type":"article","og_title":"Couchbase Cluster using Docker","og_description":"This post focuses on the Docker Swarm and Service\u00a0Mode to create a Couchbase Cluster\u00a0explained how to create a Couchbase Cluster using Docker.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-cluster-docker\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-01-24T09:14:09+00:00","article_modified_time":"2023-08-11T06:41:59+00:00","og_image":[{"url":"https:\/\/blog.arungupta.me\/wp-content\/uploads\/2016\/09\/docker-service-couchbase-cluster-1024x521.png","type":"","width":"","height":""}],"author":"Arun Gupta, VP, Developer Advocacy, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@arungupta","twitter_misc":{"Written by":"Arun Gupta, VP, Developer Advocacy, Couchbase","Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-docker\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-docker\/"},"author":{"name":"Arun Gupta, VP, Developer Advocacy, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f"},"headline":"Couchbase Cluster using Docker","datePublished":"2017-01-24T09:14:09+00:00","dateModified":"2023-08-11T06:41:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-docker\/"},"wordCount":420,"commentCount":1,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Server"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-cluster-docker\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-docker\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-docker\/","name":"Couchbase Cluster using Docker - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-docker\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-01-24T09:14:09+00:00","dateModified":"2023-08-11T06:41:59+00:00","description":"Esta postagem se concentra no Docker Swarm e no Modo de servi\u00e7o para criar um cluster do Couchbase e explica como criar um cluster do Couchbase usando o Docker.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-docker\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-cluster-docker\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-docker\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-docker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase Cluster using Docker"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f","name":"Arun Gupta, vice-presidente de defesa do desenvolvedor, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g8900a75409c646948fe0bd80f6240337","url":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","caption":"Arun Gupta, VP, Developer Advocacy, Couchbase"},"description":"Arun Gupta \u00e9 o vice-presidente de defesa do desenvolvedor na Couchbase. Ele criou e liderou comunidades de desenvolvedores por mais de 10 anos na Sun, Oracle e Red Hat. Ele tem grande experi\u00eancia na lideran\u00e7a de equipes multifuncionais para desenvolver e executar estrat\u00e9gias, planejamento e execu\u00e7\u00e3o de conte\u00fado, campanhas de marketing e programas. Antes disso, liderou equipes de engenharia na Sun e \u00e9 membro fundador da equipe Java EE. Gupta \u00e9 autor de mais de 2.000 postagens em blogs sobre tecnologia. Ele tem uma vasta experi\u00eancia em palestras em mais de 40 pa\u00edses sobre uma infinidade de t\u00f3picos e \u00e9 um JavaOne Rock Star h\u00e1 tr\u00eas anos consecutivos. Gupta tamb\u00e9m fundou o cap\u00edtulo Devoxx4Kids nos EUA e continua a promover a educa\u00e7\u00e3o tecnol\u00f3gica entre as crian\u00e7as. Autor de v\u00e1rios livros sobre tecnologia, corredor \u00e1vido, viajante do mundo inteiro, campe\u00e3o de Java, l\u00edder de JUG, membro do NetBeans Dream Team e capit\u00e3o do Docker, ele pode ser facilmente acessado em @arungupta.","sameAs":["https:\/\/x.com\/arungupta"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/arun-gupta\/"}]}},"acf":[],"authors":[{"term_id":8933,"user_id":58,"is_guest":0,"slug":"arun-gupta","display_name":"Arun Gupta, VP, Developer Advocacy, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2510","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/58"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2510"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2510\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=2510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2510"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2510"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}