{"id":2418,"date":"2017-01-06T08:53:18","date_gmt":"2017-01-06T08:53:18","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2418"},"modified":"2023-05-19T00:08:39","modified_gmt":"2023-05-19T07:08:39","slug":"persisting-couchbase-data-across-container-restarts","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/persisting-couchbase-data-across-container-restarts\/","title":{"rendered":"Persist\u00eancia de dados do Couchbase em reinicializa\u00e7\u00f5es de cont\u00eaineres"},"content":{"rendered":"<p><a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/install\/best-practices-vm.html\">Pr\u00e1ticas recomendadas para plataformas virtualizadas<\/a> fornecem as pr\u00e1ticas recomendadas para executar o Couchbase em uma plataforma virtualizada, como Amazon Web Services e Azure.<br \/>\n    Al\u00e9m disso, ele tamb\u00e9m fornece algumas recomenda\u00e7\u00f5es para execut\u00e1-lo como cont\u00eainer do Docker.<\/p>\n<p>Uma das recomenda\u00e7\u00f5es \u00e9 mapear os dados espec\u00edficos do n\u00f3 do Couchbase para uma pasta local.<\/p>\n<p>Vamos entender isso com mais detalhes.<\/p>\n<h2>Armazenamento impl\u00edcito por cont\u00eainer<\/h2>\n<p>Se um cont\u00eainer do Couchbase for iniciado como:<\/p>\n<pre class=\"lang:default decode:true\">\r\ndocker run -d -p 8091-8093:8091-8093 -p 11210:11210 --name db couchbase\/server:sandbox<\/pre>\n<p>Esse cont\u00eainer:<\/p>\n<ul>\n<li>Inicia em um modo desvinculado usando <code>-d<\/code><\/li>\n<li>Diferentes portas de consulta, armazenamento em cache e administra\u00e7\u00e3o s\u00e3o mapeadas usando <code>-p<\/code><\/li>\n<li>Um nome \u00e9 fornecido usando <code>--name<\/code><\/li>\n<li>A imagem \u00e9\u00a0<code>couchbase\/server:sandbox<\/code><\/li>\n<\/ul>\n<p>Por padr\u00e3o, os dados do cont\u00eainer s\u00e3o armazenados em um <em>volume gerenciado<\/em>. Verifica\u00e7\u00e3o de montagens de volume usando o <code>inspe\u00e7\u00e3o de docas<\/code> mostra o comando:<\/p>\n<pre class=\"lang:default decode:true\">\r\ndocker inspect --format &apos;{{json .Mounts }}&apos; db  | jq\r\n[\r\n  {\r\n    \"Name\": \"aa3c06f9c506d52bfb5d3d265f7b63045df0fea996998f12ce08b2543345e948\",\r\n    \"Source\": \"\/var\/lib\/docker\/volumes\/aa3c06f9c506d52bfb5d3d265f7b63045df0fea996998f12ce08b2543345e948\/_data\",\r\n    \"Destination\": \"\/opt\/couchbase\/var\",\r\n    \"Driver\": \"local\",\r\n    \"Mode\": \"\",\r\n    \"RW\": true,\r\n    \"Propagation\": \"\"\r\n  }\r\n]<\/pre>\n<p>Os dados do Couchbase s\u00e3o armazenados no sistema de arquivos do cont\u00eainer definido pelo valor de <code>Fonte<\/code> atributo. No Docker para Mac ou Windows, isso pode ser verificado fazendo login no sistema de arquivos raiz:<\/p>\n<pre class=\"lang:default decode:true\">\r\ndocker run -it --pid=host --privileged debian:jessie nsenter -t 1 -m -p -n<\/pre>\n<p><span style=\"text-align: left\">Em uma m\u00e1quina Linux, isso pode ser verificado diretamente no sistema de arquivos do host.<\/span><\/p>\n<p>Agora voc\u00ea pode ver o diret\u00f3rio de dados:<\/p>\n<pre class=\"lang:default decode:true\">\r\n010e52853bc6:~# ls \/var\/lib\/docker\/volumes | grep aa3c\r\naa3c06f9c506d52bfb5d3d265f7b63045df0fea996998f12ce08b2543345e948\r\n<\/pre>\n<p>Um novo diret\u00f3rio \u00e9 criado para uma nova execu\u00e7\u00e3o do cont\u00eainer. Esse diret\u00f3rio ainda estar\u00e1 dispon\u00edvel quando o cont\u00eainer for parado e removido, mas n\u00e3o ser\u00e1 mais facilmente acess\u00edvel. Portanto, nenhum dado \u00e9 preservado durante as reinicializa\u00e7\u00f5es do cont\u00eainer. O volume pode ser explicitamente<br \/>\n    removido, juntamente com o cont\u00eainer, usando o comando:<\/p>\n<pre class=\"lang:default decode:true\">\r\ndocker rm -v db<\/pre>\n<p>Se o cont\u00eainer for encerrado, todo o estado do aplicativo ser\u00e1 perdido.<\/p>\n<h2>Mapeamento expl\u00edcito do diret\u00f3rio do host<\/h2>\n<p>Agora, vamos iniciar um cont\u00eainer do Couchbase com mapeamento expl\u00edcito de volume:<\/p>\n<pre class=\"lang:default decode:true\">\r\ndocker run -d -p 8091-8093:8091-8093 -p 11210:11210 --name db -v ~\/couchbase:\/opt\/couchbase\/var couchbase\/server:sandbox<\/pre>\n<p>Esse cont\u00eainer \u00e9 muito semelhante ao cont\u00eainer iniciado anteriormente. A principal diferen\u00e7a \u00e9 que um diret\u00f3rio do host <code>~\/couchbase<\/code> \u00e9 mapeado para um diret\u00f3rio no cont\u00eainer <code>\/opt\/couchbase\/var<\/code>. O cont\u00eainer do Couchbase persiste<br \/>\n    quaisquer dados em <code>\/opt\/couchbase\/var<\/code> no sistema de arquivos do cont\u00eainer. Agora, esse diret\u00f3rio \u00e9 mapeado para um diret\u00f3rio no sistema de arquivos do host. Isso permite manter o estado do cont\u00eainer fora do sistema de arquivos do host. O<br \/>\n    ignora o sistema de arquivos de uni\u00e3o usado pelo Docker e exp\u00f5e o sistema de arquivos do host ao cont\u00eainer. Isso permite que o estado persista entre as reinicializa\u00e7\u00f5es do cont\u00eainer. O novo cont\u00eainer s\u00f3 precisa come\u00e7ar exatamente com o mesmo mapeamento de volume. Mais detalhes<br \/>\n    sobre o cont\u00eainer pode ser visto como:<\/p>\n<pre class=\"lang:default decode:true\">\r\ndocker inspect --format &apos;{{json .Mounts }}&apos; db | jq<\/pre>\n<p><a href=\"https:\/\/stedolan.github.io\/jq\/\">jq<\/a> \u00e9 um processador JSON que precisa ser instalado separadamente. E a sa\u00edda \u00e9 mostrada como:<\/p>\n<pre class=\"lang:default decode:true\">\r\n[\r\n  {\r\n    \"Source\": \"\/Users\/arungupta\/couchbase\",\r\n    \"Destination\": \"\/opt\/couchbase\/var\",\r\n    \"Mode\": \"\",\r\n    \"RW\": true,\r\n    \"Propagation\": \"rprivate\"\r\n  }\r\n]<\/pre>\n<p>Isso mostra o diret\u00f3rio de origem e de destino.\u00a0<code>RW<\/code> mostra que o volume \u00e9 de leitura\/grava\u00e7\u00e3o. Se o cont\u00eainer for iniciado usando o Docker para Mac, ent\u00e3o\u00a0<a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/admin\/ui-intro.html\">Console da Web do Couchbase<\/a>\u00a0\u00e9<br \/>\n    acess\u00edvel em https:\/\/localhost:8091. O <code>Compartimentos de dados<\/code> mostra a guia padr\u00e3o <code>amostra de viagem<\/code> balde:<br \/>\n    <a href=\"\/wp-content\/original-assets\/october-2016\/persisting-couchbase-data-across-container-restarts\/docker-volume-couchbase-01-1024x276.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"docker-volume-couchbase-01\" class=\"alignnone size-large wp-image-14376\" height=\"163\" src=\"\/wp-content\/original-assets\/october-2016\/persisting-couchbase-data-across-container-restarts\/docker-volume-couchbase-01-1024x276.png\" width=\"604\" \/><\/a><\/p>\n<p> Clique em <code>Criar novo bucket de dados<\/code>\u00a0para criar um novo bucket de dados. D\u00ea a ele o nome <code>amostra<\/code>:<br \/>\n    <a href=\"\/wp-content\/original-assets\/october-2016\/persisting-couchbase-data-across-container-restarts\/docker-volume-couchbase-02-1024x460.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"docker-volume-couchbase-02\" class=\"alignnone size-large wp-image-14375\" height=\"271\" src=\"\/wp-content\/original-assets\/october-2016\/persisting-couchbase-data-across-container-restarts\/docker-volume-couchbase-02-1024x460.png\" width=\"604\" \/><\/a><\/p>\n<p> O <code>Compartimentos de dados<\/code> \u00e9 atualizada com esse bucket rec\u00e9m-criado:<br \/>\n    <a href=\"\/wp-content\/original-assets\/october-2016\/persisting-couchbase-data-across-container-restarts\/docker-volume-couchbase-03-1024x541.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"docker-volume-couchbase-03\" class=\"alignnone size-large wp-image-14377\" height=\"319\" src=\"\/wp-content\/original-assets\/october-2016\/persisting-couchbase-data-across-container-restarts\/docker-volume-couchbase-03-1024x541.png\" width=\"604\" \/><\/a><\/p>\n<p> Agora pare e remova o cont\u00eainer:<\/p>\n<pre class=\"lang:default decode:true\">\r\ndocker stop db\r\ndocker rm db<\/pre>\n<p>Inicie o cont\u00eainer novamente usando o mesmo comando:<\/p>\n<pre class=\"lang:default decode:true\">\r\ndocker run -d -p 8091-8093:8091-8093 -p 11210:11210 --name db -v ~\/couchbase:\/opt\/couchbase\/var couchbase\/server:sandbox<\/pre>\n<p><code>Compartimentos de dados<\/code> mostrar\u00e1 os mesmos dois buckets no Console da Web do Couchbase.   Nesse caso, se o cont\u00eainer for iniciado em um host diferente, o estado n\u00e3o estar\u00e1 dispon\u00edvel. Ou, se o host morrer, o estado ser\u00e1 perdido.<\/p>\n<p>Uma alternativa e uma maneira mais robusta e infal\u00edvel de gerenciar a persist\u00eancia em cont\u00eaineres \u00e9 usar um sistema de arquivos de rede compartilhado, como o <a href=\"https:\/\/ceph.com\/\">Ceph<\/a>, <a href=\"https:\/\/www.gluster.org\/\">GlusterFS<\/a> ou <a href=\"https:\/\/nfs.sourceforge.net\/\">Sistema de arquivos de rede<\/a>.<br \/>\n    Algumas outras abordagens comuns s\u00e3o o uso de <a href=\"https:\/\/docs.docker.com\/engine\/extend\/plugins_volume\/\">Plug-ins de volume do Docker<\/a> como <a href=\"https:\/\/clusterhq.com\/flocker\/introduction\/\">Flocker<\/a> do ClusterHQ ou do armazenamento definido por software<br \/>\n    tais como\u00a0<a href=\"https:\/\/portworx.com\/\">PortWorx.<\/a>\u00a0Todas essas t\u00e9cnicas de armazenamento simplificam a forma como o estado de um cont\u00eainer pode ser salvo em um ambiente com v\u00e1rios cont\u00eaineres e v\u00e1rios hosts. Um blog futuro abordar\u00e1 essas t\u00e9cnicas em detalhes.<\/p>\n<p>Leia mais detalhes em <a href=\"https:\/\/docs.docker.com\/engine\/tutorials\/dockervolumes\/\">Gerenciamento de dados em cont\u00eaineres<\/a>.<\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/containers\/\">couchbase.com\/containers<\/a> fornecem mais detalhes sobre como executar o Couchbase em diferentes estruturas de cont\u00eaineres.<\/p>\n<p>Mais informa\u00e7\u00f5es sobre o Couchbase:<\/p>\n<ul>\n<li><a href=\"https:\/\/developer.couchbase.com\/server\">Portal do desenvolvedor do Couchbase<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/forums\/\">F\u00f3runs do Couchbase<\/a><\/li>\n<li><a href=\"https:\/\/twitter.com\/couchbasedev\">@couchbasedev<\/a> ou <a href=\"https:\/\/twitter.com\/couchbase\">@couchbase<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Best Practices for Virtualized Platforms provide best practices for running Couchbase on a virtualized platform like Amazon Web Services and Azure. In addition, it also provide some recommendations for\u00a0running it as Docker container. One of the\u00a0recommendations is to map Couchbase [&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":[1816],"tags":[],"ppma_author":[8933],"class_list":["post-2418","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Persisting Couchbase Data Across Container Restarts - 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\/persisting-couchbase-data-across-container-restarts\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Persisting Couchbase Data Across Container Restarts\" \/>\n<meta property=\"og:description\" content=\"Best Practices for Virtualized Platforms provide best practices for running Couchbase on a virtualized platform like Amazon Web Services and Azure. In addition, it also provide some recommendations for\u00a0running it as Docker container. One of the\u00a0recommendations is to map Couchbase [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/persisting-couchbase-data-across-container-restarts\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-06T08:53:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-19T07:08:39+00:00\" \/>\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=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/\"},\"author\":{\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f\"},\"headline\":\"Persisting Couchbase Data Across Container Restarts\",\"datePublished\":\"2017-01-06T08:53:18+00:00\",\"dateModified\":\"2023-05-19T07:08:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/\"},\"wordCount\":599,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/#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\/persisting-couchbase-data-across-container-restarts\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/\",\"name\":\"Persisting Couchbase Data Across Container Restarts - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-01-06T08:53:18+00:00\",\"dateModified\":\"2023-05-19T07:08:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/#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\/persisting-couchbase-data-across-container-restarts\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Persisting Couchbase Data Across Container Restarts\"}]},{\"@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":"Persisting Couchbase Data Across Container Restarts - 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\/persisting-couchbase-data-across-container-restarts\/","og_locale":"pt_BR","og_type":"article","og_title":"Persisting Couchbase Data Across Container Restarts","og_description":"Best Practices for Virtualized Platforms provide best practices for running Couchbase on a virtualized platform like Amazon Web Services and Azure. In addition, it also provide some recommendations for\u00a0running it as Docker container. One of the\u00a0recommendations is to map Couchbase [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/persisting-couchbase-data-across-container-restarts\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-01-06T08:53:18+00:00","article_modified_time":"2023-05-19T07:08:39+00:00","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":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/"},"author":{"name":"Arun Gupta, VP, Developer Advocacy, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f"},"headline":"Persisting Couchbase Data Across Container Restarts","datePublished":"2017-01-06T08:53:18+00:00","dateModified":"2023-05-19T07:08:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/"},"wordCount":599,"commentCount":1,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/#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\/persisting-couchbase-data-across-container-restarts\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/","url":"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/","name":"Persisting Couchbase Data Across Container Restarts - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-01-06T08:53:18+00:00","dateModified":"2023-05-19T07:08:39+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/persisting-couchbase-data-across-container-restarts\/#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\/persisting-couchbase-data-across-container-restarts\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Persisting Couchbase Data Across Container Restarts"}]},{"@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","first_name":"Arun","last_name":"Gupta","user_url":"","author_category":"","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\/2418","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=2418"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2418\/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=2418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2418"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2418"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}