{"id":2325,"date":"2017-01-06T06:51:41","date_gmt":"2017-01-06T06:51:40","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2325"},"modified":"2023-02-24T14:18:43","modified_gmt":"2023-02-24T22:18:43","slug":"docker-for-aws-getting-started-scaling-nodes","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/docker-for-aws-getting-started-scaling-nodes\/","title":{"rendered":"Primeiros passos com o Docker para AWS e dimensionamento de n\u00f3s"},"content":{"rendered":"<p>Este blog explicar\u00e1 como come\u00e7ar a usar o <a href=\"https:\/\/www.docker.com\/aws\">Docker para AWS<\/a> e implantar um sistema multi-host <a href=\"https:\/\/docs.docker.com\/swarm\/\">Cluster de enxame<\/a> na Amazon.<br \/>\n<a href=\"\/wp-content\/original-assets\/docker-logo-e1446595115555-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-11286\" src=\"\/wp-content\/original-assets\/docker-logo-e1446595115555-1.png\" alt=\"Docker Logo\" width=\"374\" height=\"101\" \/><\/a><br \/>\n<a href=\"\/wp-content\/original-assets\/amazon-web-services-logo-1024x373.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14093\" src=\"\/wp-content\/original-assets\/amazon-web-services-logo-1024x373.png\" alt=\"amazon-web-services-logo\" width=\"357\" height=\"130\" \/><\/a><\/p>\n<p>Muito obrigado a <a href=\"https:\/\/twitter.com\/friism\">@friismo<\/a> por me ajudar a depurar os conceitos b\u00e1sicos!<\/p>\n<h2>boot2docker -&gt; M\u00e1quina Docker -&gt; Docker para Mac<\/h2>\n<p>Voc\u00ea est\u00e1 empacotando seus aplicativos usando o Docker e usando\u00a0<a href=\"https:\/\/boot2docker.io\/\">boot2docker<\/a> para executar cont\u00eaineres no desenvolvimento? Ent\u00e3o voc\u00ea est\u00e1 realmente vivendo sob uma rocha!<\/p>\n<p>\u00c9 altamente recomend\u00e1vel fazer a atualiza\u00e7\u00e3o para <a href=\"https:\/\/docs.docker.com\/machine\/\">M\u00e1quina Docker<\/a> para desenvolvimento\/teste de cont\u00eaineres do Docker. Ele encapsula o boot2docker e permite criar uma ou mais VMs leves em seu computador. Cada<br \/>\nA VM atua como um mecanismo do Docker e pode executar v\u00e1rios cont\u00eaineres do Docker. A execu\u00e7\u00e3o de v\u00e1rias VMs permite que voc\u00ea configure v\u00e1rios hosts <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/deploy-docker-compose-services-swarm\/\">Docker Swarm<\/a> em seu laptop local com facilidade.<\/p>\n<p><a href=\"https:\/\/docs.docker.com\/machine\/\">M\u00e1quina Docker<\/a> tamb\u00e9m j\u00e1 \u00e9 not\u00edcia velha. DockerCon 2016 anunciado <a href=\"https:\/\/blog.docker.com\/2016\/06\/docker-mac-windows-public-beta\/\">vers\u00e3o beta p\u00fablica do Docker para Mac<\/a>. Isso significa que qualquer pessoa pode<br \/>\ninscreva-se no Docker para Mac em <a href=\"https:\/\/www.docker.com\/getdocker\">docker.com\/getdocker<\/a>\u00a0e us\u00e1-lo para desenvolvimento\/teste de cont\u00eaineres do Docker. \u00c9 claro que tamb\u00e9m existe o Docker para Windows!<\/p>\n<p>O Docker para Mac ainda \u00e9 um host \u00fanico, mas tem um <a href=\"https:\/\/docs.docker.com\/engine\/swarm\/\">modo de enxame<\/a> que permite inicializ\u00e1-lo como um cluster Swarm de n\u00f3 \u00fanico.<\/p>\n<h2>O que \u00e9 o Docker para AWS?<\/h2>\n<p>Ent\u00e3o, agora que voc\u00ea est\u00e1 usando o Docker para Mac para desenvolvimento, qual seria a sua plataforma de implanta\u00e7\u00e3o? A DockerCon 2016 tamb\u00e9m <a href=\"https:\/\/blog.docker.com\/2016\/06\/azure-aws-beta\/\">anunciou o Docker para AWS e Azure Beta<\/a>.<\/p>\n<blockquote><p>O Docker para AWS e Azure inicia uma frota de Docker 1.12 Engines com o modo swarm ativado imediatamente. O modo de enxame significa que os mecanismos individuais do Docker se formam em um enxame auto-organizado e auto-recuper\u00e1vel, distribu\u00eddo em zonas de disponibilidade para maior durabilidade.<\/p><\/blockquote>\n<p>Somente cobran\u00e7as do AWS e do Azure se aplicam; o Docker para AWS e o Docker para Azure s\u00e3o gratuitos no momento. Inscreva-se no Docker para AWS e Azure em <a href=\"https:\/\/beta.docker.com\">beta.docker.com<\/a>. Observe que a disponibilidade \u00e9 restrita no momento<br \/>\ntempo. Quando sua conta for ativada, voc\u00ea receber\u00e1 um e-mail de convite, conforme mostrado abaixo:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2739\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/01\/docker-aws-invite-1024x996.png\" alt=\" docker-aws-invite\" width=\"1024\" height=\"996\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/docker-aws-invite-1024x996.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/docker-aws-invite-1024x996-300x292.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/docker-aws-invite-1024x996-768x747.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/docker-aws-invite-1024x996-50x50.png 50w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/docker-aws-invite-1024x996-20x20.png 20w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h2>Valores do Docker para o AWS CloudFormation<\/h2>\n<p>Clique em <code>Pilha de lan\u00e7amento<\/code> para ser redirecionado para a p\u00e1gina de modelo do CloudFormation. Adote os padr\u00f5es:<br \/>\n<a href=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-1-1024x593.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14084\" src=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-1-1024x593.png\" alt=\"docker4aws-1\" width=\"604\" height=\"350\" \/><\/a><br \/>\nModelo S3<br \/>\nO URL ser\u00e1 preenchido automaticamente e ficar\u00e1 oculto aqui. Clique em <code>Pr\u00f3ximo<\/code>. Essa p\u00e1gina permite que voc\u00ea especifique detalhes para o modelo CloudFormation:<br \/>\n<a href=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-2-1024x803.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14079\" src=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-2-1024x803.png\" alt=\"docker4aws-2\" width=\"604\" height=\"474\" \/><\/a><\/p>\n<p>As seguintes altera\u00e7\u00f5es podem ser feitas:<\/p>\n<ul>\n<li>Nome do modelo<\/li>\n<li>N\u00famero de <em>gerente<\/em>\u00a0e\u00a0<em>trabalhador<\/em> n\u00f3s, 1 e 3 nesse caso. Observe que somente um n\u00famero \u00edmpar de gerentes pode ser especificado. Por padr\u00e3o, os cont\u00eaineres s\u00e3o agendados somente nos n\u00f3s de trabalho.<\/li>\n<li>Tamanho da AMI dos n\u00f3s mestre e de trabalho<\/li>\n<li>Uma chave j\u00e1 configurada em sua conta do AWS<\/li>\n<\/ul>\n<p>Clique em <code>Pr\u00f3ximo<\/code> e usar os padr\u00f5es:<br \/>\n<a href=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-3-1024x466.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14080\" src=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-3-1024x466.png\" alt=\"docker4aws-3\" width=\"604\" height=\"275\" \/><\/a><\/p>\n<p>Clique em <code>Pr\u00f3ximo<\/code>, confirme as configura\u00e7\u00f5es:<br \/>\n<a href=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-4-1024x583.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14086\" src=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-4-1024x583.png\" alt=\"docker4aws-4\" width=\"604\" height=\"344\" \/><\/a><br \/>\n<a href=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-5-1024x563.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14082\" src=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-5-1024x563.png\" alt=\"docker4aws-5\" width=\"604\" height=\"332\" \/><\/a><br \/>\nSelecione<br \/>\n<code>Recursos de IAM<\/code> caixa de sele\u00e7\u00e3o e clique em <code>Criar<\/code> para criar o modelo do CloudFormation. Foram necess\u00e1rios cerca de 10 minutos para criar um cluster de 4 n\u00f3s (1 gerente + 3 trabalhadores):<br \/>\n<a href=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-6-1024x205.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14088\" src=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-6-1024x205.png\" alt=\"docker4aws-6\" width=\"604\" height=\"121\" \/><\/a><br \/>\nMais detalhes<br \/>\nsobre o cluster podem ser vistas no Console do EC2:<br \/>\n<a href=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-7-1024x688.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14089\" src=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-7-1024x688.png\" alt=\"docker4aws-7\" width=\"604\" height=\"406\" \/><\/a><\/p>\n<h2>Detalhes do cluster do Docker para AWS Swarm<\/h2>\n<p>A guia Output (Sa\u00edda) do Console do EC2 mostra mais detalhes sobre o cluster:<br \/>\n<a href=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-8-1024x370.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14090\" src=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-8-1024x370.png\" alt=\"docker4aws-8\" width=\"604\" height=\"218\" \/><\/a><br \/>\nMais detalhes<br \/>\nsobre o cluster pode ser obtido de duas maneiras:<\/p>\n<ul>\n<li>Fa\u00e7a login no cluster usando SSH<\/li>\n<li>Crie um t\u00fanel e configure a CLI local do Docker<\/li>\n<\/ul>\n<h3>Criar conex\u00e3o SSH com o Docker para AWS<\/h3>\n<p>Fa\u00e7a login usando o comando mostrado no <code>Valor<\/code> da coluna <code>Sa\u00edda<\/code> guia. Crie uma conex\u00e3o SSH como:<\/p>\n<pre class=\"lang:default decode:true\">ssh -i ~\/.ssh\/aruncouchbase.pem docker@Docker4AWS-ELB-SSH-945956453.us-west-1.elb.amazonaws.com\r\nThe authenticity of host 'docker4aws-elb-ssh-945956453.us-west-1.elb.amazonaws.com (52.9.246.163)' can't be established.\r\nECDSA key fingerprint is SHA256:C71MHTErrgOO336qAuLXah7+nc6dnRSEHFgYzmXoGyQ.\r\nAre you sure you want to continue connecting (yes\/no)? yes<\/pre>\n<p>Observe que estamos usando aqui a mesma chave que foi especificada durante o modelo do CloudFormation. A lista de cont\u00eaineres pode ser vista usando <code>docker ps<\/code> comando:<\/p>\n<pre class=\"lang:default decode:true\">docker ps\r\nCONTAINER ID        IMAGE                                         COMMAND                  CREATED             STATUS              PORTS                NAMES\r\nb7be5c7066a8        docker4x\/controller:aws-v1.12.0-rc3-beta1     \"controller run --log\"   48 minutes ago      Up 48 minutes       8080\/tcp             editions_controller\r\n3846a869c502        docker4x\/shell-aws:aws-v1.12.0-rc3-beta1      \"\/entry.sh \/usr\/sbin\/\"   48 minutes ago      Up 48 minutes       0.0.0.0:22-&gt;22\/tcp   condescending_almeida\r\n82aa5473f692        docker4x\/watchdog-aws:aws-v1.12.0-rc3-beta1   \"\/entry.sh\"              48 minutes ago      Up 48 minutes                            naughty_swartz<\/pre>\n<h3>Criar um t\u00fanel SSH para o Docker para AWS<\/h3>\n<p>Como alternativa, um t\u00fanel SSH pode ser criado como:<\/p>\n<pre class=\"lang:default decode:true\">ssh -i ~\/.ssh\/aruncouchbase.pem -NL localhost:2375:\/var\/run\/docker.sock docker@Docker4AWS-ELB-SSH-945956453.us-west-1.elb.amazonaws.com &amp;<\/pre>\n<p>Configura\u00e7\u00e3o do DOCKER_HOST:<\/p>\n<pre class=\"lang:default decode:true\">export DOCKER_HOST=localhost:2375<\/pre>\n<p>A lista de cont\u00eaineres pode ser vista como acima usando <code>docker ps<\/code> comando. Al\u00e9m disso, \u00e9 poss\u00edvel obter mais informa\u00e7\u00f5es sobre o cluster usando <code>informa\u00e7\u00f5es da plataforma<\/code> comando:<\/p>\n<pre class=\"lang:default decode:true\">docker info\r\nContainers: 4\r\n Running: 3\r\n Paused: 0\r\n Stopped: 1\r\nImages: 4\r\nServer Version: 1.12.0-rc3\r\nStorage Driver: aufs\r\n Root Dir: \/var\/lib\/docker\/aufs\r\n Backing Filesystem: extfs\r\n Dirs: 32\r\n Dirperm1 Supported: true\r\nLogging Driver: json-file\r\nCgroup Driver: cgroupfs\r\nPlugins:\r\n Volume: local\r\n Network: host bridge overlay null\r\nSwarm: active\r\n NodeID: 02rdpg58s1eh3d7n3lc3xjr9p\r\n IsManager: Yes\r\n Managers: 1\r\n Nodes: 4\r\n CACertHash: sha256:4b2ab1280aa1e9113617d7588d97915b30ea9fe81852b4f6f2c84d91f0b63154\r\nRuntimes: runc\r\nDefault Runtime: runc\r\nSecurity Options: seccomp\r\nKernel Version: 4.4.13-moby\r\nOperating System: Alpine Linux v3.4\r\nOSType: linux\r\nArchitecture: x86_64\r\nCPUs: 1\r\nTotal Memory: 993.8 MiB\r\nName: ip-192-168-33-110.us-west-1.compute.internal\r\nID: WHSE:7WRF:WWGP:62LP:7KSZ:NOLT:OKQ2:NPFH:BQZN:MCIC:IA6L:6VB7\r\nDocker Root Dir: \/var\/lib\/docker\r\nDebug Mode (client): false\r\nDebug Mode (server): true\r\n File Descriptors: 46\r\n Goroutines: 153\r\n System Time: 2016-07-07T04:03:11.344531471Z\r\n EventsListeners: 0\r\nUsername: arungupta\r\nRegistry: https:\/\/index.docker.io\/v1\/\r\nExperimental: true\r\nInsecure Registries:\r\n 127.0.0.0\/8<\/pre>\n<p>Veja a seguir alguns detalhes importantes desse resultado:<\/p>\n<ul>\n<li>4 n\u00f3s e 1 gerente, o que significa 3 n\u00f3s de trabalho<\/li>\n<li>Todos os n\u00f3s est\u00e3o executando o Docker Engine vers\u00e3o 1.12.0-rc3<\/li>\n<li>Cada VM \u00e9 criada usando o Alpine Linux 3.4<\/li>\n<\/ul>\n<h2>Dimensionamento de n\u00f3s de trabalho no Docker para AWS<\/h2>\n<p>Todos os n\u00f3s de trabalho s\u00e3o configurados em um <a href=\"https:\/\/aws.amazon.com\/autoscaling\/\">Grupo do AWS AutoScaling<\/a>. O n\u00f3 do gerenciador \u00e9 configurado em um grupo separado do AWS AutoScaling.<br \/>\n<a href=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-9-1024x237.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14095\" src=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-9-1024x237.png\" alt=\"docker4aws-9\" width=\"604\" height=\"140\" \/><\/a><br \/>\nEsse primeiro<br \/>\npermite que voc\u00ea dimensione a contagem de trabalhadores usando o grupo Autoscaling. O Docker ingressar\u00e1 ou remover\u00e1 automaticamente novas inst\u00e2ncias do Swarm. Alterar a contagem de gerentes ao vivo \u00e9 <em>n\u00e3o<\/em>\u00a0compat\u00edveis com esta vers\u00e3o. Selecione o<br \/>\nGrupo AutoScaling para n\u00f3s de trabalho para ver detalhes completos sobre o grupo:<br \/>\n<a href=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-10-1024x602.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14096\" src=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-10-1024x602.png\" alt=\"docker4aws-10\" width=\"604\" height=\"355\" \/><\/a><\/p>\n<p>Clique em <code>Editar<\/code> para alterar o n\u00famero de inst\u00e2ncias desejadas para 5 e salve a configura\u00e7\u00e3o clicando em <code>Salvar<\/code> bot\u00e3o:<br \/>\n<a href=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-11-1024x466.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14097\" src=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-11-1024x466.png\" alt=\"docker4aws-11\" width=\"604\" height=\"275\" \/><\/a><\/p>\n<p>Leva alguns segundos para que as novas inst\u00e2ncias sejam provisionadas e inclu\u00eddas automaticamente no cluster do Docker Swarm. O grupo de Autoscaling atualizado \u00e9 mostrado como:<br \/>\n<a href=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-12-1024x581.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14098\" src=\"\/wp-content\/original-assets\/july2015\/getting-started-with-docker-for-aws-and-scaling-nodes\/docker4aws-12-1024x581.png\" alt=\"docker4aws-12\" width=\"604\" height=\"343\" \/><\/a><\/p>\n<p>E agora <code>informa\u00e7\u00f5es da plataforma<\/code> O comando mostra a sa\u00edda atualizada como:<\/p>\n<pre class=\"lang:default decode:true\">docker info\r\nContainers: 4\r\n Running: 3\r\n Paused: 0\r\n Stopped: 1\r\nImages: 4\r\nServer Version: 1.12.0-rc3\r\nStorage Driver: aufs\r\n Root Dir: \/var\/lib\/docker\/aufs\r\n Backing Filesystem: extfs\r\n Dirs: 32\r\n Dirperm1 Supported: true\r\nLogging Driver: json-file\r\nCgroup Driver: cgroupfs\r\nPlugins:\r\n Volume: local\r\n Network: overlay null host bridge\r\nSwarm: active\r\n NodeID: 02rdpg58s1eh3d7n3lc3xjr9p\r\n IsManager: Yes\r\n Managers: 1\r\n Nodes: 6\r\n CACertHash: sha256:4b2ab1280aa1e9113617d7588d97915b30ea9fe81852b4f6f2c84d91f0b63154\r\nRuntimes: runc\r\nDefault Runtime: runc\r\nSecurity Options: seccomp\r\nKernel Version: 4.4.13-moby\r\nOperating System: Alpine Linux v3.4\r\nOSType: linux\r\nArchitecture: x86_64\r\nCPUs: 1\r\nTotal Memory: 993.8 MiB\r\nName: ip-192-168-33-110.us-west-1.compute.internal\r\nID: WHSE:7WRF:WWGP:62LP:7KSZ:NOLT:OKQ2:NPFH:BQZN:MCIC:IA6L:6VB7\r\nDocker Root Dir: \/var\/lib\/docker\r\nDebug Mode (client): false\r\nDebug Mode (server): true\r\n File Descriptors: 48\r\n Goroutines: 169\r\n System Time: 2016-07-07T04:12:34.53634316Z\r\n EventsListeners: 0\r\nUsername: arungupta\r\nRegistry: https:\/\/index.docker.io\/v1\/\r\nExperimental: true\r\nInsecure Registries:\r\n 127.0.0.0\/8<\/pre>\n<p>Isso mostra que h\u00e1 um total de 6 n\u00f3s com 1 gerente.<\/p>\n<h2>Refer\u00eancias do Docker para AWS<\/h2>\n<ul>\n<li><a href=\"https:\/\/blog.docker.com\/2016\/06\/azure-aws-beta\/\">Blog de an\u00fancio do Docker para AWS e Azure<\/a><\/li>\n<li><a href=\"https:\/\/beta.docker.com\/docs\/\">Docker para AWS e Azure<\/a><\/li>\n<li><a href=\"https:\/\/docs.docker.com\/docker-for-aws\/release-notes\/\">Notas de vers\u00e3o do Docker para AWS<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>This blog will\u00a0explain how to get started with Docker for AWS and deploy a multi-host Swarm cluster on Amazon. Many thanks to @friism for helping me debug through the basics! boot2docker -&gt; Docker Machine -&gt;\u00a0Docker for\u00a0Mac Are you\u00a0packaging your applications [&hellip;]<\/p>","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":[1],"tags":[],"ppma_author":[8933],"class_list":["post-2325","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.0 (Yoast SEO v26.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Getting Started with Docker for AWS and Scaling Nodes - The Couchbase Blog<\/title>\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\/docker-for-aws-getting-started-scaling-nodes\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Getting Started with Docker for AWS and Scaling Nodes\" \/>\n<meta property=\"og:description\" content=\"This blog will\u00a0explain how to get started with Docker for AWS and deploy a multi-host Swarm cluster on Amazon. Many thanks to @friism for helping me debug through the basics! boot2docker -&gt; Docker Machine -&gt;\u00a0Docker for\u00a0Mac Are you\u00a0packaging your applications [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/docker-for-aws-getting-started-scaling-nodes\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-06T06:51:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-24T22:18:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/01\/docker-aws-invite-1024x996.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=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/\"},\"author\":{\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f\"},\"headline\":\"Getting Started with Docker for AWS and Scaling Nodes\",\"datePublished\":\"2017-01-06T06:51:40+00:00\",\"dateModified\":\"2023-02-24T22:18:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/\"},\"wordCount\":797,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/\",\"name\":\"Getting Started with Docker for AWS and Scaling Nodes - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-01-06T06:51:40+00:00\",\"dateModified\":\"2023-02-24T22:18:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/#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\/docker-for-aws-getting-started-scaling-nodes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Getting Started with Docker for AWS and Scaling Nodes\"}]},{\"@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:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8900a75409c646948fe0bd80f6240337\",\"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":"Getting Started with Docker for AWS and Scaling Nodes - The Couchbase Blog","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\/docker-for-aws-getting-started-scaling-nodes\/","og_locale":"pt_BR","og_type":"article","og_title":"Getting Started with Docker for AWS and Scaling Nodes","og_description":"This blog will\u00a0explain how to get started with Docker for AWS and deploy a multi-host Swarm cluster on Amazon. Many thanks to @friism for helping me debug through the basics! boot2docker -&gt; Docker Machine -&gt;\u00a0Docker for\u00a0Mac Are you\u00a0packaging your applications [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/docker-for-aws-getting-started-scaling-nodes\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-01-06T06:51:40+00:00","article_modified_time":"2023-02-24T22:18:43+00:00","og_image":[{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/01\/docker-aws-invite-1024x996.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":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/"},"author":{"name":"Arun Gupta, VP, Developer Advocacy, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f"},"headline":"Getting Started with Docker for AWS and Scaling Nodes","datePublished":"2017-01-06T06:51:40+00:00","dateModified":"2023-02-24T22:18:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/"},"wordCount":797,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Uncategorized"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/","url":"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/","name":"Getting Started with Docker for AWS and Scaling Nodes - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-01-06T06:51:40+00:00","dateModified":"2023-02-24T22:18:43+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/docker-for-aws-getting-started-scaling-nodes\/#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\/docker-for-aws-getting-started-scaling-nodes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Getting Started with Docker for AWS and Scaling Nodes"}]},{"@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:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8900a75409c646948fe0bd80f6240337","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\/"}]}},"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","author_category":"","last_name":"Gupta","first_name":"Arun","job_title":"","user_url":"","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.\r\n\r\nGupta \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 diversos 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."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2325","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=2325"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2325\/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=2325"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2325"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2325"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}