{"id":2351,"date":"2016-07-26T15:49:28","date_gmt":"2016-07-26T15:49:28","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2351"},"modified":"2025-06-13T23:03:40","modified_gmt":"2025-06-14T06:03:40","slug":"configure-official-couchbase-docker-test","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/configure-official-couchbase-docker-test\/","title":{"rendered":"Configure a imagem oficial do Docker do Couchbase no tempo de execu\u00e7\u00e3o do teste com TestContainers"},"content":{"rendered":"<p>No <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/unit-integration-tests-couchbase-docker-container\/\">anterior<\/a> <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/create-couchbase-docker-images-testcontainers\/\">blog<\/a> expliquei como usar o <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/install\/deploy-with-docker-hub.html?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">Docker<\/a> executando o Couchbase durante seus testes. Ambas as publica\u00e7\u00f5es tinham o requisito de que voc\u00ea precisava criar sua pr\u00f3pria imagem do Docker do Couchbase com o cluster e os dados j\u00e1 configurados. Nesta publica\u00e7\u00e3o, mostrarei como voc\u00ea pode usar nossa imagem oficial do Docker e configurar o cluster como desejar durante a fase de configura\u00e7\u00e3o do seu teste.<\/p>\n<h2>Um cont\u00eainer de teste personalizado do Couchbase<\/h2>\n<p>O TestContainers j\u00e1 oferece suporte a v\u00e1rios tipos espec\u00edficos de cont\u00eaineres, especialmente no mundo relacional, como voc\u00ea pode ver na p\u00e1gina <a href=\"https:\/\/testcontainers.viewdocs.io\/testcontainers-java\/usage\/database_containers\/\">documenta\u00e7\u00e3o<\/a>. Eles oferecem alguns recursos avan\u00e7ados, como uma conex\u00e3o JDBC que permite que voc\u00ea use o banco de dados subjacente diretamente. Com o mesmo esp\u00edrito, podemos criar um CouchbaseContainer personalizado que permitir\u00e1 que voc\u00ea configure o cluster e os buckets durante os testes.<\/p>\n<p>Ele ser\u00e1 respons\u00e1vel por iniciar a imagem do Docker e retornar\u00e1 uma inst\u00e2ncia configurada do CouchbaseCluster. Primeiro, definimos o identificador padr\u00e3o da imagem da plataforma e a porta Liveness como a porta 8091. Essa \u00e9 a porta que ser\u00e1 testada pela estrat\u00e9gia de espera HTTP padr\u00e3o para o caminho '\/ui\/index.html#\/'. Quando conseguirmos acessar essa p\u00e1gina, poderemos come\u00e7ar a configurar o cluster.<\/p>\n<pre><code>    public CouchbaseContainer() {\r\n        super(\"couchbase:4.5.0\");\r\n    }\r\n\r\n    @Override\r\n    protected Integer getLivenessCheckPort() {\r\n        return getMappedPort(8091);\r\n    }\r\n<\/code><\/pre>\n<p>A segunda etapa \u00e9 substituir o m\u00e9todo configure para garantir que todas as portas necess\u00e1rias sejam expostas e definir a estrat\u00e9gia de espera HTTP,<\/p>\n<pre><code>    @Override\r\n    protected void configure() {\r\n        addExposedPorts(8091, 8092, 8093, 8094, 11207, 11210, 11211, 18091, 18092, 18093);\r\n        setWaitStrategy(new HttpWaitStrategy().forPath(\"\/ui\/index.html#\/\"));\r\n    }\r\n<\/code><\/pre>\n<p>Nesse ponto, voc\u00ea pode testar esse cont\u00eainer gen\u00e9rico. A imagem ser\u00e1 executada em um estado em que voc\u00ea precisar\u00e1 configurar o Couchbase. Voc\u00ea precisa passar por todas as etapas do assistente. Essas etapas podem ser automatizadas por meio das ferramentas da CLI ou da API REST. Vamos usar a API para configurar o cluster.<\/p>\n<p>H\u00e1 tr\u00eas chamadas obrigat\u00f3rias que precisamos fazer. Uma para configurar as cotas de RAM, uma para configurar o nome de usu\u00e1rio e a senha do usu\u00e1rio administrador e uma para configurar os servi\u00e7os dispon\u00edveis no cluster (chave\/valor, \u00edndice, consulta e fts).<\/p>\n<p>Usando o curl, essas chamadas teriam a seguinte apar\u00eancia:<\/p>\n<pre><code>    curl -v -X POST https:\/\/192.168.99.100:8091\/pools\/default -d memoryQuota=300 -d indexMemoryQuota=300\r\n    curl -v https:\/\/192.168.99.100:8091\/node\/controller\/setupServices -d 'services=kv%2Cn1ql%2Cindex'\r\n    curl -v -X POST curl -v -X POST https:\/\/192.168.99.100:8091\/settings\/web -d port=8091 -d username=Administrator -d password=password\r\n<\/code><\/pre>\n<p>H\u00e1 v\u00e1rias maneiras de fazer um POST em Java, veja um exemplo:<\/p>\n<pre><code>        public void callCouchbaseRestAPI(String url, String payload, String username, String password) throws IOException {\r\n            HttpURLConnection httpConnection = (HttpURLConnection) ((new URL(url).openConnection()));\r\n            httpConnection.setDoOutput(true);\r\n            httpConnection.setDoInput(true);\r\n            httpConnection.setRequestMethod(\"POST\");\r\n            httpConnection.setRequestProperty(\"Content-Type\",\r\n                    \"application\/x-www-form-urlencoded\");\r\n            if (username != null) {\r\n                String encoded = Base64.encode((username + \":\" + password).getBytes(\"UTF-8\"));\r\n                httpConnection.setRequestProperty(\"Authorization\", \"Basic \"+encoded);\r\n            }\r\n            DataOutputStream out = new DataOutputStream(httpConnection.getOutputStream());\r\n            out.writeBytes(payload);\r\n            out.flush();\r\n            out.close();\r\n            httpConnection.getResponseCode();\r\n            httpConnection.disconnect();\r\n        }\r\n<\/code><\/pre>\n<p>Todas essas chamadas ser\u00e3o feitas a partir do <code>initCluster<\/code> method. O conte\u00fado dessas chamadas depender\u00e1 da configura\u00e7\u00e3o fornecida ao cont\u00eainer. Podemos adicionar alguns m\u00e9todos para definir quais servi\u00e7os est\u00e3o ativados, quais s\u00e3o o nome de usu\u00e1rio e a senha, as cotas de RAM ou os buckets de amostra a serem instalados.<\/p>\n<p>Depois de implementar esse m\u00e9todo, vamos expor um CouchbaseEnvironnement e um CouchbaseCluster. O getter do ambiente \u00e9 respons\u00e1vel por executar <code>initCluster<\/code> se ainda n\u00e3o tiver sido inicializado. Esse m\u00e9todo tamb\u00e9m requer o <a href=\"https:\/\/gist.github.com\/ldoguin\/5573d45f6431ad464eb1698c229c6e4c\">estrat\u00e9gia de espera personalizada<\/a> escreveu na postagem anterior. Basicamente, ele faz uma pesquisa em '\/pools\/default' at\u00e9 que o primeiro n\u00f3 apresente um estado \u00edntegro.<\/p>\n<p>Aqui est\u00e1 o c\u00f3digo da classe completa:<\/p>\n<p><script src=\"https:\/\/gist.github.com\/ldoguin\/a9264996e325bd51bb9206e9072a2c90.js\"><\/script><\/p>\n<h2>Uso<\/h2>\n<p>Para usar o CouchbaseContainer, basta fazer algo como:<\/p>\n<pre><code>        @ClassRule\r\n        public static CouchbaseContainer couchbase = new CouchbaseContainer();\r\n\r\n        @Test\r\n        public void testSimple() throws Exception {\r\n            CouchbaseCluster cc = couchbase.geCouchbaseCluster();\r\n            ClusterManager cm = cc.clusterManager(\"Administrator\",\"password\");\r\n            BucketSettings settings = DefaultBucketSettings.builder()\r\n                    .enableFlush(true).name(\"default\").quota(100).replicas(0).type(BucketType.COUCHBASE).build();\r\n            settings = cm.insertBucket(settings);\r\n            CouchbaseWaitStrategy s = new CouchbaseWaitStrategy();\r\n            s.withBasicCredentials(\"Administrator\", \"password\");\r\n            s.waitUntilReady(couchbase);\r\n            Bucket bucket = cc.openBucket(\"default\");\r\n            Assert.assertNotNull(bucket);\r\n        }\r\n<\/code><\/pre>\n<p>Se voc\u00ea quiser ter apenas o servi\u00e7o k\/v em execu\u00e7\u00e3o com todas as amostras de dados importadas:<\/p>\n<pre><code>        public class CouchbaseDriverTest {\r\n\r\n            @ClassRule\r\n            public static CouchbaseContainer couchbase = new CouchbaseContainer()\r\n                    .withBeerSample(true)\r\n                    .withGamesIMSample(true)\r\n                    .withTravelSample(true)\r\n                    .withFTS(false)\r\n                    .withIndex(false)\r\n                    .withQuery(false);\r\n\r\n            @Test\r\n            public void testSimple() throws Exception {\r\n                CouchbaseCluster cc = couchbase.geCouchbaseCluster();\r\n                ClusterManager cm = cc.clusterManager(\"Administrator\",\"password\");\r\n                List buckets = cm.getBuckets();\r\n                Assert.assertNotNull(buckets);\r\n                Assert.assertTrue(buckets.size() == 3);\r\n            }\r\n        }\r\n<\/code><\/pre>\n<p>Como voc\u00ea pode ver, isso \u00e9 muito simples e permite que qualquer pessoa execute testes no Couchbase, desde que tenha o Docker instalado.<\/p>\n<h2>\u00a0Conclus\u00e3o<\/h2>\n<p>Diga-nos nos coment\u00e1rios abaixo se voc\u00ea gostou e se deseja que forne\u00e7amos configura\u00e7\u00f5es adicionais e atalhos para configurar seu cluster do Couchbase durante os testes.<\/p>","protected":false},"excerpt":{"rendered":"<p>In the previous blog posts I explained how to use Docker containers running Couchbase during your tests. Both post had this requirements that you had to build your own Couchbase Docker image with the cluster and data already configured. In [&hellip;]<\/p>","protected":false},"author":49,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815],"tags":[1519,1877],"ppma_author":[9023],"class_list":["post-2351","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","tag-docker","tag-testing"],"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>Configure the Official Couchbase Docker Image at Test Runtime with TestContainers - 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\/configure-official-couchbase-docker-test\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Configure the Official Couchbase Docker Image at Test Runtime with TestContainers\" \/>\n<meta property=\"og:description\" content=\"In the previous blog posts I explained how to use Docker containers running Couchbase during your tests. Both post had this requirements that you had to build your own Couchbase Docker image with the cluster and data already configured. In [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/configure-official-couchbase-docker-test\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-07-26T15:49:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T06:03:40+00:00\" \/>\n<meta name=\"author\" content=\"Laurent Doguin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ldoguin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"unstructured.io\" \/>\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\/configure-official-couchbase-docker-test\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/\"},\"author\":{\"name\":\"Laurent Doguin\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c0aa9b8f1ed51b7a9e2f7cb755994a5e\"},\"headline\":\"Configure the Official Couchbase Docker Image at Test Runtime with TestContainers\",\"datePublished\":\"2016-07-26T15:49:28+00:00\",\"dateModified\":\"2025-06-14T06:03:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/\"},\"wordCount\":539,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"docker\",\"testing\"],\"articleSection\":[\"Best Practices and Tutorials\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/\",\"name\":\"Configure the Official Couchbase Docker Image at Test Runtime with TestContainers - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-07-26T15:49:28+00:00\",\"dateModified\":\"2025-06-14T06:03:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/#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\/configure-official-couchbase-docker-test\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Configure the Official Couchbase Docker Image at Test Runtime with TestContainers\"}]},{\"@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\/c0aa9b8f1ed51b7a9e2f7cb755994a5e\",\"name\":\"Laurent Doguin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/12929ce99397769f362b7a90d6b85071\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g\",\"caption\":\"Laurent Doguin\"},\"description\":\"Laurent is a nerdy metal head who lives in Paris. He mostly writes code in Java and structured text in AsciiDoc, and often talks about data, reactive programming and other buzzwordy stuff. He is also a former Developer Advocate for Clever Cloud and Nuxeo where he devoted his time and expertise to helping those communities grow bigger and stronger. He now runs Developer Relations at Couchbase.\",\"sameAs\":[\"https:\/\/x.com\/ldoguin\"],\"honorificPrefix\":\"Mr\",\"birthDate\":\"1985-06-07\",\"gender\":\"male\",\"award\":[\"Devoxx Champion\",\"Couchbase Legend\"],\"knowsAbout\":[\"Java\"],\"knowsLanguage\":[\"English\",\"French\"],\"jobTitle\":\"Director Developer Relation & Strategy\",\"worksFor\":\"Couchbase\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/laurent-doguin\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Configure the Official Couchbase Docker Image at Test Runtime with TestContainers - 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\/configure-official-couchbase-docker-test\/","og_locale":"pt_BR","og_type":"article","og_title":"Configure the Official Couchbase Docker Image at Test Runtime with TestContainers","og_description":"In the previous blog posts I explained how to use Docker containers running Couchbase during your tests. Both post had this requirements that you had to build your own Couchbase Docker image with the cluster and data already configured. In [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/configure-official-couchbase-docker-test\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-07-26T15:49:28+00:00","article_modified_time":"2025-06-14T06:03:40+00:00","author":"Laurent Doguin","twitter_card":"summary_large_image","twitter_creator":"@ldoguin","twitter_misc":{"Written by":"unstructured.io","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/"},"author":{"name":"Laurent Doguin","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c0aa9b8f1ed51b7a9e2f7cb755994a5e"},"headline":"Configure the Official Couchbase Docker Image at Test Runtime with TestContainers","datePublished":"2016-07-26T15:49:28+00:00","dateModified":"2025-06-14T06:03:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/"},"wordCount":539,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["docker","testing"],"articleSection":["Best Practices and Tutorials"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/","url":"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/","name":"Configure the Official Couchbase Docker Image at Test Runtime with TestContainers - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-07-26T15:49:28+00:00","dateModified":"2025-06-14T06:03:40+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/configure-official-couchbase-docker-test\/#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\/configure-official-couchbase-docker-test\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Configure the Official Couchbase Docker Image at Test Runtime with TestContainers"}]},{"@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\/c0aa9b8f1ed51b7a9e2f7cb755994a5e","name":"Laurent Doguin","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/12929ce99397769f362b7a90d6b85071","url":"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g","caption":"Laurent Doguin"},"description":"Laurent \u00e9 um nerd metaleiro que mora em Paris. Em sua maior parte, ele escreve c\u00f3digo em Java e texto estruturado em AsciiDoc, e frequentemente fala sobre dados, programa\u00e7\u00e3o reativa e outras coisas que est\u00e3o na moda. Ele tamb\u00e9m foi Developer Advocate do Clever Cloud e do Nuxeo, onde dedicou seu tempo e experi\u00eancia para ajudar essas comunidades a crescerem e se fortalecerem. Atualmente, ele dirige as Rela\u00e7\u00f5es com Desenvolvedores na Couchbase.","sameAs":["https:\/\/x.com\/ldoguin"],"honorificPrefix":"Mr","birthDate":"1985-06-07","gender":"male","award":["Devoxx Champion","Couchbase Legend"],"knowsAbout":["Java"],"knowsLanguage":["English","French"],"jobTitle":"Director Developer Relation & Strategy","worksFor":"Couchbase","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/laurent-doguin\/"}]}},"authors":[{"term_id":9023,"user_id":49,"is_guest":0,"slug":"laurent-doguin","display_name":"Laurent Doguin","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g","author_category":"","last_name":"Doguin","first_name":"Laurent","job_title":"","user_url":"","description":"Laurent \u00e9 um nerd metaleiro que mora em Paris. Em sua maior parte, ele escreve c\u00f3digo em Java e texto estruturado em AsciiDoc, e frequentemente fala sobre dados, programa\u00e7\u00e3o reativa e outras coisas que est\u00e3o na moda. Ele tamb\u00e9m foi Developer Advocate do Clever Cloud e do Nuxeo, onde dedicou seu tempo e experi\u00eancia para ajudar essas comunidades a crescerem e se fortalecerem. Atualmente, ele dirige as Rela\u00e7\u00f5es com Desenvolvedores na Couchbase."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2351","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\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2351"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2351\/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=2351"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2351"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2351"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}