{"id":6633,"date":"2021-02-05T04:21:39","date_gmt":"2021-02-05T12:21:39","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=6633"},"modified":"2025-10-28T07:33:57","modified_gmt":"2025-10-28T14:33:57","slug":"using-docker-with-couchbase-mobile","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/using-docker-with-couchbase-mobile\/","title":{"rendered":"Usando o Docker para desenvolver com o Couchbase Mobile"},"content":{"rendered":"<p>Tecnologias de cont\u00eaineres, como <a href=\"https:\/\/www.docker.com\/what-container\">Docker<\/a> simplificaram muito o processo de desenvolvimento, teste e implanta\u00e7\u00e3o de software, permitindo que voc\u00ea empacote aplicativos juntamente com seu ambiente de tempo de execu\u00e7\u00e3o completo que abstrai as diferen\u00e7as de infraestrutura e sistemas operacionais. Esta postagem \u00e9 uma <strong>cartilha<\/strong> sobre como voc\u00ea pode usar o Docker para configurar seu <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/announcing-general-availability-couchbase-mobile-2-1\/\">Couchbase Mobile <\/a>ambiente de desenvolvimento e oferece algumas dicas de solu\u00e7\u00e3o de problemas.<\/p>\n<p>Tudo o que foi discutido nesta postagem se aplica a um simples\u00a0<em>desenvolvimento<\/em> com o objetivo de agilizar o processo de desenvolvimento para que voc\u00ea possa come\u00e7ar a criar aplicativos m\u00f3veis com rapidez e facilidade usando o Couchbase Mobile.<\/p>\n<p>Em um artigo relacionado <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-sync-gateway-on-kubernetes\/\">postagem<\/a>Na se\u00e7\u00e3o de perguntas e respostas, discutimos como voc\u00ea pode aproveitar <strong>Kubernetes<\/strong> para dimensionar e gerenciar a implanta\u00e7\u00e3o do cluster do Couchbase Mobile em ambientes de produ\u00e7\u00e3o. O <a href=\"https:\/\/docs.couchbase.com\/operator\/1.1\/overview.html\">Operador aut\u00f4nomo do Couchbase<\/a> simplifica muito a tarefa de implementar e gerenciar seu cluster.<\/p>\n<h2 id=\"background\">Hist\u00f3rico<\/h2>\n<p>Em um n\u00edvel elevado, o <a href=\"https:\/\/developer.couchbase.com\/mobile\">Couchbase Mobile<\/a> A pilha \u00e9 composta pelos seguintes componentes<br \/>\n- O Couchbase Lite, que \u00e9 o banco de dados NoSQL incorporado e integrado aos seus aplicativos m\u00f3veis<br \/>\n- O Sync Gateway, que \u00e9 o gateway respons\u00e1vel pela sincroniza\u00e7\u00e3o de dados entre os clientes e o Couchbase Server<br \/>\n- O Couchbase Server, respons\u00e1vel pela persist\u00eancia de dados<\/p>\n<p>Para come\u00e7ar a desenvolver usando o Couchbase Mobile, voc\u00ea precisa de uma inst\u00e2ncia do Couchbase Server e do Sync Gateway. Voc\u00ea integrar\u00e1 a estrutura do Couchbase Lite aos seus aplicativos.<\/p>\n<p>Nesta postagem, aprenderemos a usar o Docker para implantar uma inst\u00e2ncia de um <a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/2.1\/introduction.html\">Gateway de sincroniza\u00e7\u00e3o<\/a> e um \u00fanico n\u00f3 <a href=\"https:\/\/docs.couchbase.com\/server\/6.0\/introduction\/intro.html\">Servidor Couchbase<\/a> em um cluster <em>desktop<\/em> ambiente adequado para fins de desenvolvimento.<\/p>\n<h2 id=\"installingdocker\">Instala\u00e7\u00e3o do Docker<\/h2>\n<p>Se voc\u00ea ainda n\u00e3o tiver feito isso, instale o Docker de acordo com o guia <a href=\"https:\/\/docs.docker.com\/engine\/installation\/\">guia de instala\u00e7\u00e3o<\/a> para seu ambiente de trabalho.<\/p>\n<p>Voc\u00ea pode verificar a instala\u00e7\u00e3o do docker digitando o seguinte comando em uma janela de terminal.<\/p>\n<pre class=\"lang:default decode:true\">docker --version<\/pre>\n<p>Voc\u00ea dever\u00e1 ver uma resposta semelhante \u00e0 abaixo<\/p>\n<pre class=\"lang:default decode:true\">Docker version 18.03.0-ce, build 0520e24<\/pre>\n<h2 id=\"installingcouchbaseserver\">Instala\u00e7\u00e3o do servidor Couchbase<\/h2>\n<p>O Couchbase Server est\u00e1 dispon\u00edvel em <a href=\"https:\/\/hub.docker.com\/r\/couchbase\/server\/\">Docker Hub<\/a> no <code>couchbase<\/code> repo. No momento da reda\u00e7\u00e3o deste post, essa vers\u00e3o \u00e9 a 6.0.1.<\/p>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Primeiro, voc\u00ea obter\u00e1 a imagem do Docker no Docker Hub. Abra uma janela de terminal e execute o seguinte comando<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">docker pull couchbase\/server<\/pre>\n<ul style=\"padding-bottom:0px\" !important;\">\n<li>Crie uma rede docker local chamada \"cbnetwork\" (ou qualquer outro nome) se ainda n\u00e3o existir uma. Abra uma janela de terminal e execute o seguinte comando. Se voc\u00ea usar um nome de rede diferente de \"cbnetwork\", lembre-se de atualizar o uso correspondente do nome nas instru\u00e7\u00f5es restantes.<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">docker network ls \r\ndocker network create -d bridge cbnetwork<\/pre>\n<h2 id=\"configuringcouchbaseserver\">Configura\u00e7\u00e3o do servidor Couchbase<\/h2>\n<p>Depois que o Couchbase Server estiver instalado e em execu\u00e7\u00e3o, voc\u00ea ter\u00e1 que configur\u00e1-lo antes de come\u00e7ar a us\u00e1-lo com o Sync Gateway<\/p>\n<p>Aqui est\u00e1 o conjunto m\u00ednimo de coisas que voc\u00ea ter\u00e1 que fazer :-<\/p>\n<ul>\n<li>Crie um cluster com os servi\u00e7os adequados. Um cluster de n\u00f3 \u00fanico \u00e9 suficiente para as necessidades de desenvolvimento<\/li>\n<li>Configurar a conta do administrador para acesso ao servidor<\/li>\n<li>Configurar o cluster<\/li>\n<li>Criar um bucket padr\u00e3o<\/li>\n<li>Crie um usu\u00e1rio RBAC com acesso apropriado ao n\u00edvel de bucket. As credenciais do usu\u00e1rio RBAC s\u00e3o usadas pelo Sync Gateway para autenticar com o Couchbase Server<\/li>\n<\/ul>\n<p>Voc\u00ea tem duas op\u00e7\u00f5es de como configurar o Couchbase Server - <em>Manual<\/em> e <em>Automatizado<\/em>. V\u00e1 para a se\u00e7\u00e3o apropriada, dependendo da sua escolha.<\/p>\n<h3 id=\"option1:configurationusingtheadminui\">Op\u00e7\u00e3o 1: Configura\u00e7\u00e3o usando a interface do usu\u00e1rio do administrador<\/h3>\n<p>Voc\u00ea pode configurar o Couchbase Server manualmente por meio da interface do usu\u00e1rio do console de administra\u00e7\u00e3o do Couchbase<br \/>\nPara acessar a interface do administrador, precisamos executar a imagem do docker que extra\u00edmos anteriormente.<\/p>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Execute o Couchbase Server com o seguinte comando. Isso executa o Couchbase Server como um processo daemon.<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\"><code class=\"width-set:true lang:sh wrap:true\">docker run -d --name cb-server --network cbnetwork -p 8091-8094:8091-8094 -p 11210:11210 couchbase\/server<\/code><\/pre>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Voc\u00ea pode visualizar os registros a qualquer momento executando o seguinte comando<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">docker logs -f cb-server<\/pre>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Se o servidor tiver sido iniciado com sucesso, voc\u00ea dever\u00e1 ver algo como isto em seu resultado<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">Starting Couchbase Server -- Web UI available at https:\/\/&lt;ip&gt;:8091 and logs available in \/opt\/couchbase\/var\/lib\/couchbase\/logs<\/pre>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Pode levar alguns segundos para que o servidor seja inicializado. Verifique se a imagem do docker est\u00e1 sendo executada com o seguinte comando<\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\">docker ps<\/pre>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Quando o servidor estiver em funcionamento, acesse-o abrindo a URL <strong><code>https:\/\/localhost:8091<\/code><\/strong> em seu navegador<\/li>\n<li>Siga as instru\u00e7\u00f5es na se\u00e7\u00e3o <a href=\"https:\/\/docs.couchbase.com\/server\/6.0\/install\/init-setup.html#initialize-cluster-web-console\">guia de configura\u00e7\u00e3o<\/a> para configurar a conta de administrador e criar um cluster de n\u00f3 \u00fanico.<\/li>\n<li>Siga as instru\u00e7\u00f5es <a href=\"https:\/\/docs.couchbase.com\/server\/6.0\/manage\/manage-buckets\/create-bucket.html#create-bucket-using-couchbase-web-console\">aqui<\/a> para criar um balde<\/li>\n<li>Em seguida, crie um usu\u00e1rio RBAC para que o Sync Gateway se conecte. Esse usu\u00e1rio ser\u00e1 criado com a fun\u00e7\u00e3o \"with \"Application Access\"\", conforme especificado nas instru\u00e7\u00f5es <a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/2.1\/getting-started.html#creating-an-rbac-user\">aqui<\/a><\/li>\n<li>Depois que seu Couchbase Server estiver configurado, certifique-se de anotar\n<ul>\n<li>O nome do bucket que voc\u00ea criou<\/li>\n<li>As credenciais de usu\u00e1rio RBAC que voc\u00ea usou para a configura\u00e7\u00e3o<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><em>As credenciais RBAC e o nome do bucket ser\u00e3o necess\u00e1rios quando voc\u00ea estiver pronto para configurar o Sync Gateway<\/em><\/p>\n<p>O processo manual \u00e9 bom, mas pode se tornar entediante se voc\u00ea tiver que repetir esse processo v\u00e1rias vezes em cada uma de suas configura\u00e7\u00f5es de desenvolvimento. N\u00e3o seria \u00f3timo se as etapas de configura\u00e7\u00e3o pudessem ser automatizadas? Se estiver interessado em aprender sobre isso, prossiga para a pr\u00f3xima se\u00e7\u00e3o; caso contr\u00e1rio, pule para a se\u00e7\u00e3o sobre configura\u00e7\u00e3o do Sync Gateway.<\/p>\n<h3 id=\"option2:configurationusingthecli\">Op\u00e7\u00e3o 2: Configura\u00e7\u00e3o usando a CLI<\/h3>\n<p>Gerei uma imagem docker personalizada a partir da imagem do Couchbase Server 6.0.1 que permitir\u00e1 iniciar o cont\u00eainer com os valores de configura\u00e7\u00e3o apropriados por meio da linha de comando. Isso ser\u00e1 particularmente \u00fatil se voc\u00ea quiser automatizar\/roteirizar o processo de instala\u00e7\u00e3o\/automa\u00e7\u00e3o.<\/p>\n<p>Embora a vers\u00e3o 6.0.1 seja a mais recente no momento em que escrevemos a publica\u00e7\u00e3o, provavelmente n\u00e3o \u00e9 a mais recente no momento em que voc\u00ea a est\u00e1 lendo. Portanto, siga as etapas em \"Building Custom Configurable Docker Image\" para criar uma imagem personalizada com uma vers\u00e3o de servidor diferente.<\/p>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Fa\u00e7a o download dessa vers\u00e3o de desenvolvimento personalizada da imagem do Couchbase Server com base no Couchbase Server 6.0.1.<\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\">docker pull priyacouch\/couchbase-dev-6.0<code class=\"width-set:true lang:sh wrap:true\"><\/code><code class=\"width-set:true lang:sh wrap:true\"><\/code><\/pre>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Depois de fazer o download da imagem personalizada com sucesso, voc\u00ea pode inici\u00e1-la fornecendo os valores de configura\u00e7\u00e3o apropriados como parte do comando de inicializa\u00e7\u00e3o. Certifique-se de registrar as credenciais de usu\u00e1rio RBAC e o nome do bucket. Eles ser\u00e3o relevantes durante a configura\u00e7\u00e3o do Sync Gateway\n<ul>\n<li>COUCHBASE_ADMINISTRATOR_USERNAME \u00e9 o nome do administrador do Couchbase<\/li>\n<li>COUCHBASE_ADMINISTRATOR_PASSWORD \u00e9 a senha do administrador do Couchbase<\/li>\n<li>COUCHBASE_BUCKET \u00e9 o nome do bucket do banco de dados que voc\u00ea gostaria de criar<\/li>\n<li>COUCHBASE_RBAC_USERNAME \u00e9 o nome do usu\u00e1rio RBAC do Sycn Gateway com acesso ao bucket de n\u00edvel de aplicativo<\/li>\n<li>COUCHBASE_RBAC_PASSWORD \u00e9 a senha do usu\u00e1rio RBAC<\/li>\n<li>COUCHBASE_RBAC_NAME \u00e9 um nome de f\u00e1cil utiliza\u00e7\u00e3o para o usu\u00e1rio RBAC<\/li>\n<li>CLUSTER_NAME o nome do cluster do Couchbase Server<\/li>\n<\/ul>\n<p>Abra uma janela de terminal e digite o seguinte comando. Voc\u00ea pode fornecer valores adequados para cada um dos par\u00e2metros configur\u00e1veis.<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">docker run -d --name cb-server --network cbnetwork -p 8091-8094:8091-8094 -p 11210:11210 -e COUCHBASE_ADMINISTRATOR_USERNAME=Administrator -e COUCHBASE_ADMINISTRATOR_PASSWORD=password -e COUCHBASE_BUCKET=demobucket -e COUCHBASE_RBAC_USERNAME=admin -e COUCHBASE_RBAC_PASSWORD=password -e COUCHBASE_RBAC_NAME=\"admin\" -e CLUSTER_NAME=demo-cluster priyacouch\/couchbase-dev-6.0<\/pre>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Voc\u00ea pode visualizar os registros a qualquer momento executando o seguinte comando<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">docker logs -f cb-server<\/pre>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Voc\u00ea precisa ser paciente. O servidor leva alguns minutos para entrar em funcionamento. Se for bem-sucedido, sua sa\u00edda dever\u00e1 ser semelhante a esta<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">&lt; 100 50 0 0 100 50 0 1172 --:--:-- --:--:-- --:--:-- 1219 * Connection #0 to host 127.0.0.1 left intact SUCCESS: Bucket created SUCCESS: RBAC user set \/entrypoint.sh couchbase-server<\/pre>\n<ul>\n<li>\u00c9 isso a\u00ed! Agora voc\u00ea pode testar sua instala\u00e7\u00e3o.<br \/>\nAcesse-o abrindo a URL <strong><code>https:\/\/localhost:8091<\/code><\/strong> em seu navegador e verifique se sua configura\u00e7\u00e3o est\u00e1 conforme especificado<\/li>\n<\/ul>\n<figure><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/04\/docker_cbs_6.gif\" alt=\"\" \/><\/figure>\n<p>&nbsp;<\/p>\n<h3 id=\"buildingcustomconfigurabledockerimage\">Cria\u00e7\u00e3o de imagem do Docker personalizada e configur\u00e1vel<\/h3>\n<p>Se estiver se perguntando como gerei a imagem personalizada com op\u00e7\u00f5es configur\u00e1veis, h\u00e1 algumas maneiras de fazer isso. Mas adotei uma abordagem inspirada no <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/deploying-containerized-couchbase-nosql-database-cluster-docker-video-tutorial\/\">tutorial<\/a>. Basicamente, criei uma imagem do docker personalizada a partir da imagem base do servidor Coucbase e a configurei de acordo com nossas necessidades de desenvolvimento!<\/p>\n<p>H\u00e1 uma tonelada de valores configur\u00e1veis personalizados, conforme descrito no <a href=\"https:\/\/docs.couchbase.com\/server\/6.0\/cli\/cbcli\/couchbase-cli.html\">CLI do couchbase<\/a> e <a href=\"https:\/\/docs.couchbase.com\/server\/6.0\/rest-api\/rest-intro.html\">Interface REST<\/a> especifica\u00e7\u00f5es. Em minha imagem personalizada do docker, permiti a configura\u00e7\u00e3o de alguns par\u00e2metros cr\u00edticos e deixei os outros como padr\u00e3o.<\/p>\n<p>Se quiser gerar sua pr\u00f3pria imagem com base em uma vers\u00e3o diferente do Couchbase Server e\/ou se quiser personalizar os par\u00e2metros configur\u00e1veis, voc\u00ea poder\u00e1 fazer isso seguindo as etapas especificadas neste <a href=\"https:\/\/gist.github.com\/rajagp\/8d05314d85fcbf169ee39a671077a566\"><strong>guia<\/strong><\/a><\/p>\n<h2 id=\"installingcouchbasesyncgateway2.x\">Instala\u00e7\u00e3o do Sync Gateway<\/h2>\n<p>Agora que voc\u00ea tem o Couchbase Server configurado e em funcionamento, instalaremos o Sync Gateway. \u00c9 importante que o Couchbase Server esteja em funcionamento antes de voc\u00ea come\u00e7ar a usar o Sync Gateway.<\/p>\n<p>O Sync Gateway est\u00e1 dispon\u00edvel em <a href=\"https:\/\/hub.docker.com\/r\/couchbase\/server\/\">Docker Hub<\/a> no <code>couchbase<\/code> repo.<\/p>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Primeiro, voc\u00ea obter\u00e1 a imagem do Docker no Docker Hub. Abra uma nova janela de terminal e execute o seguinte.<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">docker pull couchbase\/sync-gateway<\/pre>\n<ul>\n<li>O Sync Gateway deve ser iniciado com um <a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/2.7\/gs-sgw-config.html\" target=\"_blank\" rel=\"noopener\">arquivo de configura\u00e7\u00e3o<\/a> onde voc\u00ea especifica, entre outras coisas, o URL do Couchbase Server ao qual se conectar, o bucket a ser acessado e as credenciais RBAC a serem usadas para o acesso ao bucket. O arquivo de configura\u00e7\u00e3o determina o comportamento do gateway de sincroniza\u00e7\u00e3o em tempo de execu\u00e7\u00e3o.<\/li>\n<\/ul>\n<p>A imagem do docker que voc\u00ea extraiu foi criada com um arquivo de configura\u00e7\u00e3o padr\u00e3o. Se voc\u00ea n\u00e3o especificar nenhum, esse ser\u00e1 o arquivo usado (e provavelmente n\u00e3o funcionar\u00e1 para voc\u00ea).<\/p>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Se voc\u00ea tiver uma configura\u00e7\u00e3o que gostaria de usar, abra-a em um editor de sua escolha. Caso contr\u00e1rio, crie um novo arquivo de configura\u00e7\u00e3o chamado <code>sync-gateway-config.json<\/code> e copie a seguinte configura\u00e7\u00e3o.<\/li>\n<\/ul>\n<pre class=\"lang:vim decode:true\"><code class=\"width-set:true lang:json wrap:true\">{\r\n  \"interface\":\":4984\",\r\n   \"logging\": {\r\n    \"log_file_path\": \"\/var\/tmp\/sglogs\",\r\n    \"console\": {\r\n      \"log_level\": \"debug\",\r\n      \"log_keys\": [\"*\"]\r\n    },\r\n    \"error\": {\r\n      \"enabled\": true,\r\n      \"rotation\": {\r\n        \"max_size\": 20,\r\n        \"max_age\": 180\r\n      }\r\n    },\r\n    \"warn\": {\r\n      \"enabled\": true,\r\n      \"rotation\": {\r\n        \"max_size\": 20,\r\n        \"max_age\": 90\r\n      }\r\n    },\r\n    \"info\": {\r\n      \"enabled\": false\r\n    },\r\n    \"debug\": {\r\n      \"enabled\": false\r\n    }\r\n  },\r\n  \"databases\": {\r\n    \"demobucket\": {\r\n      \"import_docs\": \"continuous\",\r\n      \"enable_shared_bucket_access\":true,  \r\n      \"bucket\":\"demobucket\",\r\n      \"server\": \"https:\/\/cb-server:8091\",\r\n      \"username\": \"admin\",\r\n      \"password\": \"password\",\r\n      \"num_index_replicas\":0,\r\n      \"users\":{\r\n          \"GUEST\": {\"disabled\":true},\r\n          \"admin\": {\"password\": \"password\", \"admin_channels\": [\"*\"]}\r\n      },\r\n      \"revs_limit\":20\r\n   }\r\n}\r\n}\t<\/code><\/pre>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Voc\u00ea pode adicionar um <code>sincroniza\u00e7\u00e3o<\/code> ou qualquer uma das outras propriedades de configura\u00e7\u00e3o. Vamos nos concentrar nas principais que s\u00e3o essenciais para o nosso ambiente de desenvolvimento. Voc\u00ea deve fazer as edi\u00e7\u00f5es apropriadas no arquivo de configura\u00e7\u00e3o conforme especificado abaixo.<\/li>\n<li>O <code>servidor<\/code> URL especifica o nome do cont\u00eainer do Couchbase Server. Na se\u00e7\u00e3o <code>execu\u00e7\u00e3o do docker<\/code> usado para iniciar o Couchbase Server, especificamos o nome usando o par\u00e2metro <code>--name<\/code> op\u00e7\u00e3o.<\/li>\n<li>O <code>banco de dados<\/code> e <code>balde<\/code> deve corresponder ao <code>$COUCHBASE_BUCKET<\/code> que voc\u00ea usou quando configurou o Couchbase Server. Em nosso exemplo, esse valor foi especificado como <code>demobucket<\/code>.<\/li>\n<li>O <code>nome de usu\u00e1rio<\/code> corresponde ao nome de usu\u00e1rio da conta RBAC que voc\u00ea criou para o acesso ao bucket, conforme especificado pelo <code>$COUCHBASE_RBAC_USERNAME<\/code> que voc\u00ea usou quando configurou o Couchbase Server. Em nosso exemplo, esse valor foi especificado como <code>administrador<\/code>.<\/li>\n<li>O <code>senha<\/code> corresponde \u00e0 senha da conta RBAC que voc\u00ea criou para o acesso ao balde, conforme especificado pelo <code>$COUCHBASE_RBAC_PASSWORD<\/code> que voc\u00ea usou quando configurou o Couchbase Server. Em nosso exemplo, esse valor foi especificado como senha.<\/li>\n<li>Depois que o arquivo de configura\u00e7\u00e3o estiver configurado, voc\u00ea iniciar\u00e1 o Sync Gateway com o arquivo. Para isso, abra um terminal e execute os seguintes comandos<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">cd \/path\/to\/sync-gateway-config.json\r\n\r\ndocker run -p 4984-4985:4984-4985 --network cbnetwork --name sync-gateway -d -v `pwd`\/sync-gateway-config.json:\/etc\/sync_gateway\/sync_gateway.json couchbase\/sync-gateway -adminInterface :4985 \/etc\/sync_gateway\/sync_gateway.json<\/pre>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Voc\u00ea pode visualizar os registros a qualquer momento executando o seguinte comando<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">docker logs -f sync-gateway<\/pre>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Pode levar alguns segundos para que o gateway de sincroniza\u00e7\u00e3o seja inicializado. Verifique se a imagem do docker est\u00e1 sendo executada com o seguinte comando<\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\">docker ps<\/pre>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Verifique se o gateway de sincroniza\u00e7\u00e3o est\u00e1 em execu\u00e7\u00e3o abrindo a URL <strong><code>https:\/\/localhost:4984<\/code><\/strong> em seu navegador.<br \/>\nVoc\u00ea dever\u00e1 ver o seguinte resultado<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">{\"couchdb\":\"Welcome\",\"vendor\":{\"name\":\"Couchbase Sync Gateway\",\"version\":\"2.8\"},\"version\":\"Couchbase Sync Gateway\/2.8(2;35fe28e)\"}<\/pre>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Verifique se o gateway de sincroniza\u00e7\u00e3o est\u00e1 se comunicando com o bucket do Couchbase Server abrindo a URL <strong><code>https:\/\/localhost:4985\/demobucket\/<\/code><\/strong> em seu navegador. Aqui <code>demobucket<\/code> \u00e9 o nome do bucket do banco de dados que criamos.<br \/>\nVoc\u00ea dever\u00e1 ver um resultado semelhante ao abaixo, indicando a vers\u00e3o do gateway de sincroniza\u00e7\u00e3o<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">{\"committed_update_seq\":0,\"compact_running\":false,\"db_name\":\"demobucket\",\"disk_format_version\":0,\"instance_start_time\":1554265962361858,\"purge_seq\":0,\"state\":\"Online\",\"update_seq\":0}<\/pre>\n<p>\u00c9 isso a\u00ed! Voc\u00ea tem sua inst\u00e2ncia do docker do gateway de sincroniza\u00e7\u00e3o conversando com o servidor Couchbase<\/p>\n<h2 id=\"managingyourenvironment\">Gerenciando seu ambiente<\/h2>\n<p>Nesta se\u00e7\u00e3o, veremos alguns comandos b\u00e1sicos do docker que ajudar\u00e3o a gerenciar seu ambiente.<\/p>\n<h3 id=\"stoppingstartingcontainers\">Parar\/iniciar cont\u00eaineres<\/h3>\n<ul>\n<li>Voc\u00ea pode parar e reiniciar os cont\u00eaineres do docker a qualquer momento usando o comando <code>parar<\/code> e <code>iniciar<\/code> comandos do docker como segue.\n<ul style=\"padding-bottom:0px !important;\">\n<li>Interrup\u00e7\u00e3o de cont\u00eaineres<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true crayon-selected\">   docker stop sync-gateway\r\n   docker stop cb-server<\/pre>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Iniciando cont\u00eaineres<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">    docker start cb-server\r\n    docker start sync-gateway<\/pre>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong><em>Observa\u00e7\u00e3o<\/em><\/strong> que se voc\u00ea parar o Couchbase Server, o Sync Gateway tentar\u00e1 se reconectar ao servidor por alguns minutos antes de desistir. Portanto, se o servidor for interrompido por um longo per\u00edodo de tempo, ser\u00e1 necess\u00e1rio interromper e reiniciar o cont\u00eainer do Sync Gateway tamb\u00e9m ou usar o comando <a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/2.1\/admin-rest-api.html#\/database\/post__db___online\"><code>_online<\/code><\/a> API para coloc\u00e1-lo novamente on-line.<\/p>\n<h3 id=\"updatingsyncgatwayconfiguration\">Atualiza\u00e7\u00e3o da configura\u00e7\u00e3o do Sync Gatway<\/h3>\n<ul>\n<li>Se voc\u00ea quiser atualizar a configura\u00e7\u00e3o do gateway de sincroniza\u00e7\u00e3o, precisar\u00e1 executar novamente o Sync Gateway com um arquivo de configura\u00e7\u00e3o do gateway de sincroniza\u00e7\u00e3o atualizado. Para isso, ser\u00e1 necess\u00e1rio interromper e remover o cont\u00eainer do gateway de sincroniza\u00e7\u00e3o.<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">docker stop sync-gateway \r\ndocker rm sync-gateway<\/pre>\n<p>Se voc\u00ea n\u00e3o remover a imagem do sync-gateway, ver\u00e1 um \"erro de conflito de nome\" semelhante ao abaixo se tentar iniciar o sync-gateway novamente com a configura\u00e7\u00e3o atualizada.<\/p>\n<pre class=\"lang:sh decode:true\">docker: Error response from daemon: Conflict. The container name \"\/sync-gateway\" is already in use by container \"bc67153afda9b90303b2965b62c5e34751ce3748fd8d5fb7ed38a418d7b77cfd\". You have to remove (or rename) that container to be able to reuse that name. See 'docker run --help'.<code class=\"bash\"><\/code><\/pre>\n<h3 id=\"updatingcouchbaseserverconfiguration\">Atualiza\u00e7\u00e3o da configura\u00e7\u00e3o do servidor Couchbase<\/h3>\n<ul style=\"padding-bottom:0px !important;\">\n<li>Da mesma forma, se quiser executar novamente o servidor Couchbase com uma configura\u00e7\u00e3o atualizada, voc\u00ea precisar\u00e1 parar e remover o servidor couchbase.<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">docker stop cb-server\r\ndocker rm cb-server<\/pre>\n<p>No entanto, dependendo da configura\u00e7\u00e3o do servidor que foi alterada, talvez seja necess\u00e1rio parar e remover o cont\u00eainer do gateway de sincroniza\u00e7\u00e3o e reinici\u00e1-lo com o arquivo de configura\u00e7\u00e3o do gateway de sincroniza\u00e7\u00e3o atualizado. Por exemplo, se voc\u00ea alterou as credenciais RBAC para o bucket ou se alterou o nome do bucket que.<\/p>\n<h3 id=\"runningcommandsinthecontainer\">Executar comandos no cont\u00eainer<\/h3>\n<p>\u00c0s vezes, voc\u00ea pode querer executar comandos diretamente no cont\u00eainer em execu\u00e7\u00e3o. Para isso, voc\u00ea pode usar o docker <code>executar<\/code> para abrir um shell no cont\u00eainer. Isso \u00e9 extremamente \u00fatil para depura\u00e7\u00e3o e coisas do g\u00eanero. Voc\u00ea precisar\u00e1 de privil\u00e9gios de root para poder executar o comando.<\/p>\n<ul style=\"padding-bottom:0px !important;\">\n<li>servidor couchbase<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">sudo docker exec -i -t cb-server \/bin\/bash<\/pre>\n<ul style=\"padding-bottom:0px !important;\">\n<li>gateway de sincroniza\u00e7\u00e3o<\/li>\n<\/ul>\n<pre class=\"lang:sh decode:true\">sudo docker exec -i -t sync-gateway \/bin\/bash<\/pre>\n<h2 id=\"resources\">Pr\u00f3ximas etapas<\/h2>\n<p>Como voc\u00ea j\u00e1 deve ter percebido nesta publica\u00e7\u00e3o, os cont\u00eaineres do docker tornam extremamente conveniente a instala\u00e7\u00e3o e o funcionamento de um cluster do Couchbase Server e do Sync Gateway em seu ambiente de desenvolvimento. Com a configura\u00e7\u00e3o do back-end fora do caminho, voc\u00ea pode se concentrar na cria\u00e7\u00e3o de aplicativos m\u00f3veis incr\u00edveis com o Couchbase Lite.<\/p>\n<p>Como pr\u00f3xima etapa, voc\u00ea pode usar\u00a0<a href=\"https:\/\/docs.docker.com\/compose\/reference\/overview\/\">docker-compose<\/a>\u00a0para instalar os cont\u00eaineres do Couchbase Server e do Sync Gateway. Lembre-se de que o Sync Gateway depende do Couchbase Server para estar em funcionamento.<\/p>\n<p>Esta postagem abordou a configura\u00e7\u00e3o do cont\u00eainer docker em um ambiente de desenvolvimento. Em um ambiente de produ\u00e7\u00e3o real, voc\u00ea provavelmente nunca implantaria um cluster de n\u00f3 \u00fanico. \u00c9 prov\u00e1vel que voc\u00ea queira ter v\u00e1rios n\u00f3s para ter alta disponibilidade. Voc\u00ea pode usar uma tecnologia de orquestra\u00e7\u00e3o como\u00a0<a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/2.1\/kubernetes\/deploy-cluster.html\">Kubernetes<\/a> para simplificar a implanta\u00e7\u00e3o e o gerenciamento do cluster do Couchbase Mobile.<\/p>\n<p>Se voc\u00ea tiver d\u00favidas ou coment\u00e1rios, deixe um coment\u00e1rio abaixo.  Os\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/pt\/forums\/\">F\u00f3runs do Couchbase<\/a> s\u00e3o outro bom lugar para entrar em contato com perguntas.<\/p>","protected":false},"excerpt":{"rendered":"<p>Container technologies such as Docker have vastly simplified the software development, test and deployment process by allowing you to package applications along with their complete runtime environment that abstract away differences in infrastructure and OSes. This post is a primer [&hellip;]<\/p>","protected":false},"author":1423,"featured_media":6640,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,1810],"tags":[1520,2004,1519,1545],"ppma_author":[8948],"class_list":["post-6633","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-couchbase-mobile","tag-containers","tag-couchbase-mobile-2-0","tag-docker","tag-kubernetes"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Using Docker to Develop Mobile Apps with Couchbase Mobile<\/title>\n<meta name=\"description\" content=\"Use Docker to simplify Couchbase Mobile development for seamless setup, testing, and efficient environment management and quick start to building apps.\" \/>\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\/using-docker-with-couchbase-mobile\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using Docker to develop with Couchbase Mobile\" \/>\n<meta property=\"og:description\" content=\"Use Docker to simplify Couchbase Mobile development for seamless setup, testing, and efficient environment management and quick start to building apps.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/using-docker-with-couchbase-mobile\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-05T12:21:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-28T14:33:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/kisscc0-docker-intermodal-container-shipping-container-kub-travel-5afd8a87c60168.218365771526565511811.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2048\" \/>\n\t<meta property=\"og:image:height\" content=\"1335\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Priya Rajagopal, Senior Director, Product Management\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rajagp\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Priya Rajagopal, Senior Director, Product Management\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/\"},\"author\":{\"name\":\"Priya Rajagopal, Senior Director, Product Management\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c\"},\"headline\":\"Using Docker to develop with Couchbase Mobile\",\"datePublished\":\"2021-02-05T12:21:39+00:00\",\"dateModified\":\"2025-10-28T14:33:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/\"},\"wordCount\":338,\"commentCount\":6,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/kisscc0-docker-intermodal-container-shipping-container-kub-travel-5afd8a87c60168.218365771526565511811.jpg\",\"keywords\":[\"containers\",\"couchbase mobile 2.0\",\"docker\",\"kubernetes\"],\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Mobile\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/\",\"name\":\"Using Docker to Develop Mobile Apps with Couchbase Mobile\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/kisscc0-docker-intermodal-container-shipping-container-kub-travel-5afd8a87c60168.218365771526565511811.jpg\",\"datePublished\":\"2021-02-05T12:21:39+00:00\",\"dateModified\":\"2025-10-28T14:33:57+00:00\",\"description\":\"Use Docker to simplify Couchbase Mobile development for seamless setup, testing, and efficient environment management and quick start to building apps.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/kisscc0-docker-intermodal-container-shipping-container-kub-travel-5afd8a87c60168.218365771526565511811.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/kisscc0-docker-intermodal-container-shipping-container-kub-travel-5afd8a87c60168.218365771526565511811.jpg\",\"width\":2048,\"height\":1335,\"caption\":\"Couchbase Cloud-Native autonomous database\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using Docker to develop with Couchbase Mobile\"}]},{\"@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\/c2da90e57717ee4970c48a87a131ac2c\",\"name\":\"Priya Rajagopal, Senior Director, Product Management\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4b50a54778b979d8c345b036ab138734\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g\",\"caption\":\"Priya Rajagopal, Senior Director, Product Management\"},\"description\":\"Priya Rajagopal is a Senior Director of Product Management at Couchbase responsible for developer platforms for the cloud and the edge. She has been professionally developing software for over 20 years in several technical and product leadership positions, with 10+ years focused on mobile technologies. As a TISPAN IPTV standards delegate, she was a key contributor to the IPTV standards specifications. She has 22 patents in the areas of networking and platform security.\",\"sameAs\":[\"https:\/\/x.com\/rajagp\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/priya-rajagopalcouchbase-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Using Docker to Develop Mobile Apps with Couchbase Mobile","description":"Use o Docker para simplificar o desenvolvimento do Couchbase Mobile para uma configura\u00e7\u00e3o perfeita, testes e gerenciamento eficiente do ambiente e in\u00edcio r\u00e1pido da cria\u00e7\u00e3o de aplicativos.","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\/using-docker-with-couchbase-mobile\/","og_locale":"pt_BR","og_type":"article","og_title":"Using Docker to develop with Couchbase Mobile","og_description":"Use Docker to simplify Couchbase Mobile development for seamless setup, testing, and efficient environment management and quick start to building apps.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/using-docker-with-couchbase-mobile\/","og_site_name":"The Couchbase Blog","article_published_time":"2021-02-05T12:21:39+00:00","article_modified_time":"2025-10-28T14:33:57+00:00","og_image":[{"width":2048,"height":1335,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/kisscc0-docker-intermodal-container-shipping-container-kub-travel-5afd8a87c60168.218365771526565511811.jpg","type":"image\/jpeg"}],"author":"Priya Rajagopal, Senior Director, Product Management","twitter_card":"summary_large_image","twitter_creator":"@rajagp","twitter_misc":{"Written by":"Priya Rajagopal, Senior Director, Product Management","Est. reading time":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/"},"author":{"name":"Priya Rajagopal, Senior Director, Product Management","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c"},"headline":"Using Docker to develop with Couchbase Mobile","datePublished":"2021-02-05T12:21:39+00:00","dateModified":"2025-10-28T14:33:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/"},"wordCount":338,"commentCount":6,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/kisscc0-docker-intermodal-container-shipping-container-kub-travel-5afd8a87c60168.218365771526565511811.jpg","keywords":["containers","couchbase mobile 2.0","docker","kubernetes"],"articleSection":["Best Practices and Tutorials","Couchbase Mobile"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/","url":"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/","name":"Using Docker to Develop Mobile Apps with Couchbase Mobile","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/kisscc0-docker-intermodal-container-shipping-container-kub-travel-5afd8a87c60168.218365771526565511811.jpg","datePublished":"2021-02-05T12:21:39+00:00","dateModified":"2025-10-28T14:33:57+00:00","description":"Use o Docker para simplificar o desenvolvimento do Couchbase Mobile para uma configura\u00e7\u00e3o perfeita, testes e gerenciamento eficiente do ambiente e in\u00edcio r\u00e1pido da cria\u00e7\u00e3o de aplicativos.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/kisscc0-docker-intermodal-container-shipping-container-kub-travel-5afd8a87c60168.218365771526565511811.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/04\/kisscc0-docker-intermodal-container-shipping-container-kub-travel-5afd8a87c60168.218365771526565511811.jpg","width":2048,"height":1335,"caption":"Couchbase Cloud-Native autonomous database"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/using-docker-with-couchbase-mobile\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Using Docker to develop with Couchbase Mobile"}]},{"@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\/c2da90e57717ee4970c48a87a131ac2c","name":"Priya Rajagopal, Diretora S\u00eanior, Gerenciamento de Produtos","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4b50a54778b979d8c345b036ab138734","url":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","caption":"Priya Rajagopal, Senior Director, Product Management"},"description":"Priya Rajagopal \u00e9 diretora s\u00eanior de gerenciamento de produtos da Couchbase, respons\u00e1vel pelas plataformas de desenvolvedor para a nuvem e a borda. Ela desenvolve software profissionalmente h\u00e1 mais de 20 anos em v\u00e1rios cargos t\u00e9cnicos e de lideran\u00e7a de produtos, com mais de 10 anos de foco em tecnologias m\u00f3veis. Como delegada de padr\u00f5es de IPTV da TISPAN, ela foi uma das principais colaboradoras das especifica\u00e7\u00f5es de padr\u00f5es de IPTV. Ela tem 22 patentes nas \u00e1reas de rede e seguran\u00e7a de plataforma.","sameAs":["https:\/\/x.com\/rajagp"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/priya-rajagopalcouchbase-com\/"}]}},"authors":[{"term_id":8948,"user_id":1423,"is_guest":0,"slug":"priya-rajagopalcouchbase-com","display_name":"Priya Rajagopal, Senior Director, Product Management","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","author_category":"","last_name":"Rajagopal, Senior Director, Product Management","first_name":"Priya","job_title":"","user_url":"","description":"Priya Rajagopal \u00e9 diretora s\u00eanior de gerenciamento de produtos da Couchbase, respons\u00e1vel pelas plataformas de desenvolvedor para a nuvem e a borda. Ela desenvolve software profissionalmente h\u00e1 mais de 20 anos em v\u00e1rios cargos t\u00e9cnicos e de lideran\u00e7a de produtos, com mais de 10 anos de foco em tecnologias m\u00f3veis. Como delegada de padr\u00f5es de IPTV da TISPAN, ela foi uma das principais colaboradoras das especifica\u00e7\u00f5es de padr\u00f5es de IPTV. Ela tem 22 patentes nas \u00e1reas de rede e seguran\u00e7a de plataforma."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/6633","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\/1423"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=6633"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/6633\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/6640"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=6633"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=6633"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=6633"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=6633"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}