{"id":2314,"date":"2017-01-04T17:39:32","date_gmt":"2017-01-04T17:39:31","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2314"},"modified":"2023-08-10T23:41:25","modified_gmt":"2023-08-11T06:41:25","slug":"microservices-wildfly-swarm-docker-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/microservices-wildfly-swarm-docker-couchbase\/","title":{"rendered":"WildFly Swarm, Docker \ubc0f Couchbase\ub97c \uc0ac\uc6a9\ud558\ub294 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4"},"content":{"rendered":"<p>\ucee8\ud14c\uc774\ub108, \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4, NoSQL\uc740 \ucd5c\uc2e0 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uad6c\ucd95\ud558\uae30 \uc704\ud55c \uba4b\uc9c4 3\uc778\ubc29\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 \ubbfc\ucca9\ud574\uc57c \ud558\uace0, \ub04a\uc784\uc5c6\uc774 \uc9c4\ud654\ud558\ub294 \uace0\uac1d\uc758 \uc694\uad6c\ub97c \ucda9\uc871\ud574\uc57c \ud558\uba70, \ub110\ub9ac \ud37c\uc838 \uc788\uc5b4\uc57c \ud558\uace0, \ubaa8\ubc14\uc77c, \uc6f9 \ubc0f IoT \ud50c\ub7ab\ud3fc \uc804\ubc18\uc5d0\uc11c \uc791\ub3d9\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p>\uc774 \ube14\ub85c\uadf8\uc5d0\uc11c\ub294 \ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud558\uc5ec \uac04\ub2e8\ud55c \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc2a4\ud0dd\uc5d0 \ub300\ud574 \uc124\uba85\ud569\ub2c8\ub2e4. <a href=\"https:\/\/wildfly-swarm.io\/\">\uc640\uc77c\ub4dc\ud50c\ub77c\uc774 \uad70\ub2e8<\/a>, <a href=\"https:\/\/docs.docker.com\">Docker<\/a>\ubc0f <a href=\"https:\/\/developer.couchbase.com\/server\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4<\/a>. \uc774 \ube14\ub85c\uadf8\uc758 \uc804\uccb4 \ucf54\ub4dc\uc640 \uc9c0\uce68\uc740 \uc5d0 \ubb38\uc11c\ud654\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4:\u00a0<a href=\"https:\/\/github.com\/arun-gupta\/wildfly-swarm-couchbase\">github.com\/arun-gupta\/wildfly-swarm-couchbase<\/a>.<\/p>\n<p>\uba3c\uc800 \uc774 \uc2a4\ud0dd\uc758 \uc8fc\uc694 \uad6c\uc131 \uc694\uc18c\ub97c \uc774\ud574\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4!<\/p>\n<p><a href=\"https:\/\/wildfly-swarm.io\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-14041 alignleft\" src=\"\/wp-content\/original-assets\/june-2016\/microservices-using-wildfly-swarm-docker-and-couchbase\/wildfly-swarm-logo.png\" alt=\"wildfly-swarm-logo\" width=\"269\" height=\"74\" \/><\/a><a href=\"https:\/\/wildfly-swarm.io\/\">\uc640\uc77c\ub4dc\ud50c\ub77c\uc774 \uad70\ub2e8<\/a> \ub97c \uc0ac\uc6a9\ud558\uba74 JavaEE \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ub2e4\uc74c\uacfc \uac19\uc740 \uc11c\ubc84 \ub7f0\ud0c0\uc784\uc5d0 \ud544\uc694\ud55c \ub9cc\ud07c\ub9cc \ud328\ud0a4\uc9d5\ud558\uc5ec \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>java -jar<\/code> \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uac80\uc0c9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc11c\ube44\uc2a4 \uac80\uc0c9 \uae30\ub2a5\uc774 \ub0b4\uc7a5\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4, <a href=\"https:\/\/keycloak.jboss.org\/\">\ud0a4\ud074\ub85c\ud06c\ub97c \uc0ac\uc6a9\ud55c \uc2f1\uae00 \uc0ac\uc778\uc628<\/a>, <a href=\"https:\/\/www.hawkular.org\/\">Hawkular\ub97c \uc0ac\uc6a9\ud55c \ubaa8\ub2c8\ud130\ub9c1<\/a>\ub4f1 \ub2e4\uc591\ud55c \uae30\ub2a5\uc744 \uac16\ucd98 WildFly Swarm\uc740 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4\ub97c \uac1c\ubc1c\ud558\ub294 \ub370 \ud544\uc694\ud55c \ubaa8\ub4e0 \uad6c\uc131 \uc694\uc18c\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/docs.docker.com\/docker-for-mac\/\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-14042 alignleft\" src=\"\/wp-content\/original-assets\/june-2016\/microservices-using-wildfly-swarm-docker-and-couchbase\/docker-for-mac-1024x457.png\" alt=\"docker-for-mac\" width=\"376\" height=\"168\" \/><\/a><\/p>\n<p><a href=\"https:\/\/docs.docker.com\/docker-for-mac\/\">Mac\uc6a9 Docker<\/a> \ub294 Mac OSX\uc5d0\uc11c Docker \ucee8\ud14c\uc774\ub108\ub97c \uc2e4\ud589\ud558\uae30 \uc704\ud55c \uae30\ubcf8 \uc9c0\uc6d0\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc774\ub294 \ub2e4\uc74c\uc744 \uae30\ubc18\uc73c\ub85c \ud569\ub2c8\ub2e4. <code>Hypervisor.framework<\/code>\u00a0\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \ub3c4\ucee4 \uc5d4\uc9c4\uc740 \uc54c\ud30c\uc778 \ub9ac\ub205\uc2a4 \ubc30\ud3ec\ud310\uc5d0\uc11c \uc2e4\ud589\ub429\ub2c8\ub2e4. <code>xhyve<\/code> \uac00\uc0c1 \uba38\uc2e0\uc744 \uad00\ub9ac\ud560 \uc218 \uc788\uc73c\uba70, \uac00\uc0c1 \uba38\uc2e0\ub3c4 Docker\uc5d0\uc11c \uad00\ub9ac\ud569\ub2c8\ub2e4. Docker Machine\uc774\ub098 VirtualBox\uac00 \ud544\uc694\ud558\uc9c0 \uc54a\uc73c\uba70, OSX \ubcf4\uc548 \uc0cc\ub4dc\ubc15\uc2a4 \ubaa8\ub378\uacfc \ud1b5\ud569\ub429\ub2c8\ub2e4. DockerCon 2016\uc5d0\uc11c\ub294 Mac\uc6a9 Docker\uc758 \ube44\uacf5\uac1c \ubca0\ud0c0 \uc81c\ud55c\uc774 \uc81c\uac70\ub418\uc5b4 \uc774\uc81c \ub204\uad6c\ub098 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <img loading=\"lazy\" decoding=\"async\" class=\"wp-image-13243 alignleft\" src=\"\/wp-content\/original-assets\/june-2016\/microservices-using-wildfly-swarm-docker-and-couchbase\/couchbase-logo-1-e1450329453533.png\" alt=\"Couchbase Logo\" width=\"298\" height=\"78\" \/><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/get-started-developing-nosql\/\">NoSQL<\/a> \ub294 \uc2a4\ud0a4\ub9c8\uac00 \uc5c6\ub294 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 \ubbfc\ucca9\uc131\uacfc \uc720\uc5f0\uc131\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \ubc88\uac70\ub85c\uc6b4 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \uac70\uce58\uc9c0 \uc54a\uace0\ub3c4 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ub3c5\ub9bd\uc801\uc73c\ub85c \ube60\ub974\uac8c \ubc1c\uc804\uc2dc\ud0ac \uc218 \uc788\uc2b5\ub2c8\ub2e4. Couchbase\ub294 \ub2e4\uc74c\uc744 \ud1b5\ud574 \uc9c4\uc815\ud55c \uc218\ud3c9\uc801 \ud655\uc7a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/architecture\/architecture-intro.html\">\ub3d9\uc9c8\uc801\uc778 \uc544\ud0a4\ud14d\ucc98<\/a>\ud655\uc7a5 \ubd88\uac00\ub2a5\ud55c \ub9c8\uc2a4\ud130\/\uc2ac\ub808\uc774\ube0c \uc544\ud0a4\ud14d\ucc98\uc640\ub294 \ub300\uc870\uc801\uc785\ub2c8\ub2e4. \ub610\ud55c \uc790\ub3d9 \uc0e4\ub529\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4, <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/products\/n1ql\/\">JSON\uc744 \uc704\ud55c SQL\uacfc \uc720\uc0ac\ud55c \ucffc\ub9ac \uc5b8\uc5b4<\/a> (N1QL), <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/developers\/mobile\/\">\ubaa8\ubc14\uc77c \ub370\uc774\ud130\ubca0\uc774\uc2a4<\/a>\u00a0\ubc31\uc5d4\ub4dc \uc11c\ubc84\uc640\uc758 \ub3d9\uae30\ud654 \ub4f1 \ub2e4\uc591\ud55c \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc774 \ube14\ub85c\uadf8\uc758 \uc804\uccb4 \uc0d8\ud50c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 \uc5ec\uae30\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:\u00a0<a href=\"https:\/\/github.com\/arun-gupta\/wildfly-swarm-couchbase\">github.com\/arun-gupta\/wildfly-swarm-couchbase<\/a>.<\/p>\n<h2>WildFly \uc2a4\uc6dc \uc560\ud50c\ub9ac\ucf00\uc774\uc158<\/h2>\n<p>Java EE REST \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ub97c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">package com.couchbase.wildfly.swarm;\r\n\r\n. . .\r\n\r\n@Path(\"airline\")\r\npublic class AirlineResource {\r\n\r\n    @Inject Database database;\r\n        \r\n    @GET\r\n    public String getAll() {\r\n        N1qlQuery query = N1qlQuery.simple(\"SELECT * FROM `travel-sample` LIMIT 10\");\r\n        N1qlQueryResult result = database.getBucket().query(query);\r\n        return result.allRows().toString();\r\n    }\r\n    \r\n. . .\r\n}<\/pre>\n<p>\ud45c\uc900 JAX-RS \uc5b4\ub178\ud14c\uc774\uc158\uc744 \uc0ac\uc6a9\ud558\uc5ec POJO\ub97c REST \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4.\u00a0<a href=\"https:\/\/docs.couchbase.com\/sdk-api\/couchbase-java-client-2.3.1\/\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc790\ubc14 API<\/a>\u00a0\ub294 \uc720\ucc3d\ud55c API\ub97c \uc81c\uacf5\ud558\uace0 N1QL \ubb38\uc744 \uc0ac\uc6a9\ud558\uc5ec \ubb38\uc11c\ub97c \ucffc\ub9ac\ud558\uace0 \uacb0\uacfc\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4. N1QL \ubb38\uc740 \ucffc\ub9ac \uacb0\uacfc\uc5d0\uc11c \ucc98\uc74c 10\uac1c\uc758 \uc694\uc18c\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4. \uc774 \ubb38\uc11c\uc5d0\uc11c N1QL \uad6c\ubb38\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uc138\uc694. <a href=\"https:\/\/query.pub.couchbase.com\/tutorial\/#1\">\ub300\ud654\ud615 \ud29c\ud1a0\ub9ac\uc5bc<\/a>. \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ucd94\uc0c1\ud654\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\uc758\ub429\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">package com.couchbase.wildfly.swarm;\r\n\r\n. . .\r\n\r\n@Singleton\r\n@Startup\r\npublic class Database {\r\n    \r\n    CouchbaseCluster cluster;\r\n    Bucket bucket;\r\n        \r\n    public CouchbaseCluster getCluster() {\r\n        if (null == cluster) {\r\n            String couchbaseURI = System.getenv(\"COUCHBASE_URI\");\r\n            if (null == couchbaseURI) {\r\n                System.err.println(\"WARING: No COUCHBASE_URI specified, defaulting to localhost\");\r\n                couchbaseURI = \"localhost:8093\";\r\n            }\r\n            System.out.println(\"Couchbase endpoint: \" + System.getenv(\"COUCHBASE_URI\"));\r\n            cluster = CouchbaseCluster.create(couchbaseURI);\r\n        }\r\n        return cluster;\r\n    }\r\n    \r\n    public Bucket getBucket() {\r\n        if (null == bucket) {\r\n            bucket = getCluster().openBucket(\"travel-sample\");\r\n        }\r\n        return bucket;\r\n    }\r\n}<\/pre>\n<p>\uc774\uac83\uc740 \uc5f4\uc2ec\ud788 \ucd08\uae30\ud654\ub418\ub294 \uc2f1\uae00\ud1a4 EJB\uc785\ub2c8\ub2e4. \uc774\uac83\uc740 <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/sdk\/java\/start-using-sdk.html\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc790\ubc14 SDK<\/a> \ub97c \ud074\ub9ad\ud558\uc5ec Couchbase\uc5d0 \uc5f0\uacb0\ud569\ub2c8\ub2e4. \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ub294 \ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<code>COUCHBASE_URI<\/code> \ud658\uacbd \ubcc0\uc218\uc785\ub2c8\ub2e4. \ub2e4\uc74c\uc740\u00a0<code>pom.xml<\/code>\u00a0\uc640 \uc640\uc77c\ub4dc\ud50c\ub77c\uc774 \uc2a4\uc6dc\uc744 \uad6c\uc131\ud558\uae30 \uc704\ud55c <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/sdk\/java\/start-using-sdk.html\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc790\ubc14 \ud074\ub77c\uc774\uc5b8\ud2b8<\/a>:<\/p>\n<pre class=\"lang:default decode:true\">        \r\n            \r\n                org.wildfly.swarm\r\n                bom\r\n                ${version.wildfly-swarm}\r\n                pom\r\n                import\r\n            \r\n        \r\n    \r\n    \r\n        \r\n            javax\r\n            javaee-web-api\r\n            7.0\r\n            provided\r\n        \r\n        \r\n            org.wildfly.swarm\r\n            jaxrs-cdi\r\n        \r\n        \r\n            org.wildfly.swarm\r\n            ejb\r\n        \r\n        \r\n            com.couchbase.client\r\n            java-client\r\n            2.2.5\r\n        \r\n<\/pre>\n<p>\ubaa8\ub4e0 \uc885\uc18d\uc131\uc744 \uac00\uc838\uc624\uae30 \uc704\ud574 WildFly Swarm \"\uc790\uc7ac \uba85\uc138\uc11c\"\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ube4c\ub4dc\uc5d0 \ud544\uc694\ud55c \ud2b9\uc815 \uc885\uc18d\uc131\ub9cc \ube4c\ub4dc\uc5d0 \ud544\uc694\ud55c \uc885\uc18d\uc131\ub9cc <code><\/code>. \uadf8\ub7f0 \ub2e4\uc74c \"\ub6b1\ub6b1\ud55c \ud56d\uc544\ub9ac\"\uc5d0 \ud328\ud0a4\uc9d5\ub429\ub2c8\ub2e4. \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ud328\ud0a4\uc9d5\ud558\uace0 \uc2e4\ud589\ud558\ub294 \ub370\ub294 WildFly Swarm Maven \ud50c\ub7ec\uadf8\uc778\uc774 \uc0ac\uc6a9\ub429\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">                org.wildfly.swarm\r\n                wildfly-swarm-plugin\r\n                ${version.wildfly-swarm}\r\n                \r\n                    \r\n                        \r\n                            package\r\n                        \r\n                    \r\n                \r\n                \r\n                    \r\n                        ${COUCHBASE_URI}\r\n                    \r\n                \r\n<\/pre>\n<p><code>COUCHBASE_URI<\/code> \ub294 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc11c\ubc84\uac00 \uc2e4\ud589\ub418\uace0 \uc788\ub294 \ud638\uc2a4\ud2b8\ub97c \uc77d\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.<\/p>\n<h2>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84 \uc2e4\ud589<\/h2>\n<p>Mac\uc6a9 Docker\ub97c \uc0ac\uc6a9\ud558\uc5ec Couchbase \uc11c\ubc84\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">docker run -d --name db -p 8091-8093:8091-8093 -p 11210:11210 arungupta\/couchbase<\/pre>\n<p>\uadf8\ub9ac\uace0 <code>\uc544\ub8fd\uc5c5\ud0c0\/\uce74\uc6b0\uce58\ubca0\uc774\uc2a4<\/code>\u00a0\ub294 <a href=\"https:\/\/hub.docker.com\/_\/couchbase\/\">\ud45c\uc900 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc774\ubbf8\uc9c0<\/a>\u00a0\ubc0f \uc6a9\ub3c4 <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/rest-api\/rest-intro.html\">Couchbase REST API<\/a> \ub97c \ud074\ub9ad\ud574 \uc11c\ubc84\ub97c \uad6c\uc131\ud569\ub2c8\ub2e4. \uc0d8\ud50c \ubc84\ud0b7\uc774 JSON \ubb38\uc11c\ub85c \ucc44\uc6cc\uc9c8 \ub54c\uae4c\uc9c0 \uba87 \ubd84 \uc815\ub3c4 \uae30\ub2e4\ub9bd\ub2c8\ub2e4. \uc0d8\ud50c \ubc84\ud0b7\uc5d0\uc11c <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/tools\/cbq-shell.html\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 CLI \ub3c4\uad6c cbq<\/a>\u00a0\uc0d8\ud50c \ubc84\ud0b7\uc5d0 \uae30\ubcf8 \uc778\ub371\uc2a4\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">docker run -it --link db:db arungupta\/couchbase cbq -u Administrator -p password -engine https:\/\/db:8093 -s \"create primary index `travel-sample-primary-index` on `travel-sample`;\"<\/pre>\n<p>\ucd9c\ub825\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \ud45c\uc2dc\ub429\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\"> Connected to : https:\/\/db:8093\/. Type Ctrl-D or QUIT to exit.\r\n\r\n Path to history file for the shell : \/root\/.cbq_history \r\n{\r\n    \"requestID\": \"d0b2e4dd-b702-49e2-971c-a4c640ddb498\",\r\n    \"signature\": null,\r\n    \"results\": [\r\n    ],\r\n    \"status\": \"success\",\r\n    \"metrics\": {\r\n        \"elapsedTime\": \"3.154540272s\",\r\n        \"executionTime\": \"3.154493281s\",\r\n        \"resultCount\": 0,\r\n        \"resultSize\": 0\r\n    }\r\n}<\/pre>\n<p>\uc774 \ucd9c\ub825\uc740 \uc778\ub371\uc2a4 \uc0dd\uc131 \uacb0\uacfc\uac00 \uc131\uacf5\ud588\uc74c\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. Mac\uc6a9 Docker\ub97c \uc2e4\ud589\ud560 \ub54c\uc758 \uc7a5\uc810 \uc911 \ud558\ub098\ub294 \ubaa8\ub4e0 \ucee8\ud14c\uc774\ub108\ub97c \ub2e4\uc74c \uc704\uce58\uc5d0\uc11c \uc561\uc138\uc2a4\ud560 \uc218 \uc788\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4. <code>localhost<\/code>. \uc774\ub294 \ub2e4\uc74c\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. <a href=\"https:\/\/docs.couchbase.com\/server\/6.0\/manage\/management-tools.html\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc6f9 \ucf58\uc194<\/a> \uc5d0\uc11c \uc561\uc138\uc2a4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<a href=\"https:\/\/localhost:8091\">localhost:8091<\/a>. <a href=\"\/wp-content\/original-assets\/june-2016\/microservices-using-wildfly-swarm-docker-and-couchbase\/couchbase-web-console-docker-mac-wildfly-swarm-microsoervice-1024x593.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14045\" src=\"\/wp-content\/original-assets\/june-2016\/microservices-using-wildfly-swarm-docker-and-couchbase\/couchbase-web-console-docker-mac-wildfly-swarm-microsoervice-1024x593.png\" alt=\"couchbase-web-console-docker-mac-wildfly-swarm-microsoervice\" width=\"604\" height=\"350\" \/><\/a><\/p>\n<p>\uc774 \ud654\uba74\uc5d0\uc11c\ub294 Couchbase\uac00 \uc62c\ubc14\ub974\uac8c \uad6c\uc131\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.<\/p>\n<h2>WildFly \uc2a4\uc6dc \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc2e4\ud589<\/h2>\n<p>\ub3c5\ub9bd\ud615 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4\ub97c \ud328\ud0a4\uc9d5\ud558\uace0 \uc2e4\ud589\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">mvn wildfly-swarm:run<\/pre>\n<p>Couchbase\uac00 \ub2e4\ub978 \ud638\uc2a4\ud2b8\uc5d0\uc11c \uc2e4\ud589 \uc911\uc778 \uacbd\uc6b0 \uba85\ub839\uc774 \ub2e4\uc74c\uacfc \uac19\uc774 \ubcc0\uacbd\ub429\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">mvn -DCOUCHBASE_URI= wildfly-swarm:run<\/pre>\n<p>\ucd9c\ub825\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \ud45c\uc2dc\ub429\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">[INFO] Scanning for projects...\r\n[INFO]                                                                         \r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Building nosql-microservices 1.0-SNAPSHOT\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] \r\n\r\n. . . \r\n\r\n2016-06-27 22:21:47,170 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-6) WFLYSRV0018: Deployment \"deployment.nosql-microservices.war\" is using a private module (\"org.jboss.jts:main\") which may be changed or removed in future versions without notice.\r\n2016-06-27 22:21:47,203 INFO  [org.jboss.weld.deployer] (MSC service thread 1-1) WFLYWELD0003: Processing weld deployment nosql-microservices.war\r\n2016-06-27 22:21:47,542 INFO  [org.hibernate.validator.internal.util.Version] (MSC service thread 1-1) HV000001: Hibernate Validator 5.2.3.Final\r\n2016-06-27 22:21:47,600 INFO  [org.jboss.as.ejb3.deployment] (MSC service thread 1-1) WFLYEJB0473: JNDI bindings for session bean named 'Database' in deployment unit 'deployment \"nosql-microservices.war\"' are as follows:\r\n\r\n java:global\/nosql-microservices\/Database!com.couchbase.wildfly.swarm.Database\r\n java:app\/nosql-microservices\/Database!com.couchbase.wildfly.swarm.Database\r\n java:module\/Database!com.couchbase.wildfly.swarm.Database\r\n java:global\/nosql-microservices\/Database\r\n java:app\/nosql-microservices\/Database\r\n java:module\/Database\r\n\r\n2016-06-27 22:21:47,731 INFO  [org.jboss.weld.deployer] (MSC service thread 1-3) WFLYWELD0006: Starting Services for CDI deployment: nosql-microservices.war\r\n2016-06-27 22:21:47,758 INFO  [org.jboss.weld.Version] (MSC service thread 1-3) WELD-000900: 2.3.2 (Final)\r\n2016-06-27 22:21:47,780 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-1) WFLYUT0018: Host default-host starting\r\n2016-06-27 22:21:47,788 INFO  [org.jboss.weld.deployer] (MSC service thread 1-8) WFLYWELD0009: Starting weld service for deployment nosql-microservices.war\r\n2016-06-27 22:21:48,180 INFO  [stdout] (ServerService Thread Pool -- 10) Couchbase endpoint: \r\n2016-06-27 22:21:48,275 INFO  [com.couchbase.client.core.CouchbaseCore] (ServerService Thread Pool -- 10) CouchbaseEnvironment: {sslEnabled=false, sslKeystoreFile='null', sslKeystorePassword='null', queryEnabled=false, queryPort=8093, bootstrapHttpEnabled=true, bootstrapCarrierEnabled=true, bootstrapHttpDirectPort=8091, bootstrapHttpSslPort=18091, bootstrapCarrierDirectPort=11210, bootstrapCarrierSslPort=11207, ioPoolSize=8, computationPoolSize=8, responseBufferSize=16384, requestBufferSize=16384, kvServiceEndpoints=1, viewServiceEndpoints=1, queryServiceEndpoints=1, searchServiceEndpoints=1, ioPool=NioEventLoopGroup, coreScheduler=CoreScheduler, eventBus=DefaultEventBus, packageNameAndVersion=couchbase-jvm-core\/1.2.5 (git: 1.2.5), dcpEnabled=false, retryStrategy=BestEffort, maxRequestLifetime=75000, retryDelay=ExponentialDelay{growBy 1.0 MICROSECONDS, powers of 2; lower=100, upper=100000}, reconnectDelay=ExponentialDelay{growBy 1.0 MILLISECONDS, powers of 2; lower=32, upper=4096}, observeIntervalDelay=ExponentialDelay{growBy 1.0 MICROSECONDS, powers of 2; lower=10, upper=100000}, keepAliveInterval=30000, autoreleaseAfter=2000, bufferPoolingEnabled=true, tcpNodelayEnabled=true, mutationTokensEnabled=false, socketConnectTimeout=1000, dcpConnectionBufferSize=20971520, dcpConnectionBufferAckThreshold=0.2, queryTimeout=75000, viewTimeout=75000, kvTimeout=2500, connectTimeout=5000, disconnectTimeout=25000, dnsSrvEnabled=false}\r\n2016-06-27 22:21:48,829 INFO  [com.couchbase.client.core.node.Node] (cb-io-1-1) Connected to Node localhost\r\n2016-06-27 22:21:49,035 INFO  [com.couchbase.client.core.config.ConfigurationProvider] (cb-computations-1) Opened bucket travel-sample\r\n2016-06-27 22:21:49,415 INFO  [org.jboss.resteasy.resteasy_jaxrs.i18n] (ServerService Thread Pool -- 10) RESTEASY002225: Deploying javax.ws.rs.core.Application: class com.couchbase.wildfly.swarm.MyApplication\r\n2016-06-27 22:21:49,438 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 10) WFLYUT0021: Registered web context: \/\r\n2016-06-27 22:21:49,457 INFO  [org.jboss.as.server] (main) WFLYSRV0010: Deployed \"nosql-microservices.war\" (runtime-name : \"nosql-microservices.war\")<\/pre>\n<p>\uc774\uc81c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \ub2e4\uc74c \uacc4\uc815\uc73c\ub85c \uc561\uc138\uc2a4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">curl https:\/\/localhost:8080\/webresources\/airline<\/pre>\n<p>\ud615\uc2dd\uc774 \uc9c0\uc815\ub41c \ucd9c\ub825\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">[\r\n  {\r\n    \"travel-sample\": {\r\n      \"country\": \"United States\",\r\n      \"iata\": \"Q5\",\r\n      \"callsign\": \"MILE-AIR\",\r\n      \"name\": \"40-Mile Air\",\r\n      \"icao\": \"MLA\",\r\n      \"id\": 10,\r\n      \"type\": \"airline\"\r\n    }\r\n  },\r\n\r\n  . . .\r\n\r\n  {\r\n    \"travel-sample\": {\r\n      \"country\": \"France\",\r\n      \"iata\": \"A5\",\r\n      \"callsign\": \"AIRLINAIR\",\r\n      \"name\": \"Airlinair\",\r\n      \"icao\": \"RLA\",\r\n      \"id\": 1203,\r\n      \"type\": \"airline\"\r\n    }\r\n  }\r\n]<\/pre>\n<p>\ub530\ub77c\uc11c Docker \ucee8\ud14c\uc774\ub108\ub85c \uc2e4\ud589\ub418\ub294 Couchbase \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc561\uc138\uc2a4\ud558\ub294 WildFly Swarm\uc744 \uc0ac\uc6a9\ud558\uc5ec \uac04\ub2e8\ud55c \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4\ub97c \uad6c\ucd95\ud588\uc2b5\ub2c8\ub2e4. \uc774\uc81c \uc774\uc0c1\uc801\uc73c\ub85c\ub294 \uc774 WildFly Swarm \uc11c\ube44\uc2a4\ub97c Docker \uc774\ubbf8\uc9c0\ub85c \ud328\ud0a4\uc9d5\ud55c \ub2e4\uc74c \ud574\ub2f9 Docker \uc774\ubbf8\uc9c0\uac00 \uc11c\ube44\uc2a4 \uc5ed\ud560\uc744 \ud558\ub3c4\ub85d \ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\ub984\uc774 <code>\ub3c4\ucee4<\/code> \uc5d0 \uc774\ubbf8 \ucd94\uac00\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. <code>pom.xml<\/code> \ud558\uc9c0\ub9cc <a href=\"https:\/\/github.com\/arun-gupta\/wildfly-swarm-couchbase\/issues\/3\">\uc774\uc288 #3<\/a> \uc774 \uc2dc\ub098\ub9ac\uc624\ub97c \uc2e4\ud328\ud558\uac8c \ub9cc\ub4e4\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \ucc38\uc870<\/h2>\n<ul>\n<li><a href=\"https:\/\/docs.docker.com\">docs.docker.com<\/a><\/li>\n<li><a href=\"https:\/\/wildfly-swarm.io\">\uc640\uc77c\ub4dc\ud50c\ub77c\uc774 \uad70\ub2e8<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/get-started-developing-nosql\/\">NoSQL \uc2dc\uc791\ud558\uae30<\/a><\/li>\n<li>\uae43\ud5c8\ube0c \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac:\u00a0<a href=\"https:\/\/github.com\/arun-gupta\/wildfly-swarm-couchbase\">github.com\/arun-gupta\/wildfly-swarm-couchbase<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Containers, Microsoervices, and NoSQL provide an awesome threesome for building your modern applications. These applications\u00a0need to be agile, meet\u00a0constantly evolving customer demands, be pervasive, and should work across mobile, web and IoT platforms. This blog will\u00a0explain a simple microservices stack [&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-2314","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.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Microservices using WildFly Swarm, Docker and Couchbase - 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\/ko\/microservices-wildfly-swarm-docker-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Microservices using WildFly Swarm, Docker and Couchbase\" \/>\n<meta property=\"og:description\" content=\"Containers, Microsoervices, and NoSQL provide an awesome threesome for building your modern applications. These applications\u00a0need to be agile, meet\u00a0constantly evolving customer demands, be pervasive, and should work across mobile, web and IoT platforms. This blog will\u00a0explain a simple microservices stack [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/microservices-wildfly-swarm-docker-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-04T17:39:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-11T06:41:25+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\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/\"},\"author\":{\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f\"},\"headline\":\"Microservices using WildFly Swarm, Docker and Couchbase\",\"datePublished\":\"2017-01-04T17:39:31+00:00\",\"dateModified\":\"2023-08-11T06:41:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/\"},\"wordCount\":672,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Server\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/\",\"name\":\"Microservices using WildFly Swarm, Docker and Couchbase - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-01-04T17:39:31+00:00\",\"dateModified\":\"2023-08-11T06:41:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/#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\/microservices-wildfly-swarm-docker-couchbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Microservices using WildFly Swarm, Docker and Couchbase\"}]},{\"@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\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@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\":\"ko-KR\",\"@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\/ko\/author\/arun-gupta\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Microservices using WildFly Swarm, Docker and Couchbase - 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\/ko\/microservices-wildfly-swarm-docker-couchbase\/","og_locale":"ko_KR","og_type":"article","og_title":"Microservices using WildFly Swarm, Docker and Couchbase","og_description":"Containers, Microsoervices, and NoSQL provide an awesome threesome for building your modern applications. These applications\u00a0need to be agile, meet\u00a0constantly evolving customer demands, be pervasive, and should work across mobile, web and IoT platforms. This blog will\u00a0explain a simple microservices stack [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/microservices-wildfly-swarm-docker-couchbase\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-01-04T17:39:31+00:00","article_modified_time":"2023-08-11T06:41:25+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\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/"},"author":{"name":"Arun Gupta, VP, Developer Advocacy, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f"},"headline":"Microservices using WildFly Swarm, Docker and Couchbase","datePublished":"2017-01-04T17:39:31+00:00","dateModified":"2023-08-11T06:41:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/"},"wordCount":672,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Server"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/","name":"Microservices using WildFly Swarm, Docker and Couchbase - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-01-04T17:39:31+00:00","dateModified":"2023-08-11T06:41:25+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/microservices-wildfly-swarm-docker-couchbase\/#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\/microservices-wildfly-swarm-docker-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Microservices using WildFly Swarm, Docker and Couchbase"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","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":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@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, \uac1c\ubc1c\uc790 \uc9c0\uc6d0 \ubd80\ubb38 \ubd80\uc0ac\uc7a5, Couchbase","image":{"@type":"ImageObject","inLanguage":"ko-KR","@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\/ko\/author\/arun-gupta\/"}]}},"authors":[{"term_id":8933,"user_id":58,"is_guest":0,"slug":"arun-gupta","display_name":"Arun Gupta, VP, Developer Advocacy, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","author_category":"","last_name":"Gupta","first_name":"Arun","job_title":"","user_url":"","description":"\uc544\ub8ec \uad7d\ud0c0\ub294 Couchbase\uc758 \uac1c\ubc1c\uc790 \uc9c0\uc6d0 \ub2f4\ub2f9 \ubd80\uc0ac\uc7a5\uc785\ub2c8\ub2e4. \uadf8\ub294 Sun, Oracle, Red Hat\uc5d0\uc11c 10\ub144 \uc774\uc0c1 \uac1c\ubc1c\uc790 \ucee4\ubba4\ub2c8\ud2f0\ub97c \uad6c\ucd95\ud558\uace0 \uc774\ub04c\uc5c8\uc2b5\ub2c8\ub2e4. \uadf8\ub294 \ucf58\ud150\uce20, \ub9c8\ucf00\ud305 \ucea0\ud398\uc778 \ubc0f \ud504\ub85c\uadf8\ub7a8\uc758 \uc804\ub7b5, \uacc4\ud68d \ubc0f \uc2e4\ud589\uc744 \uac1c\ubc1c \ubc0f \uc2e4\ud589\ud558\ub294 \uad50\ucc28 \uae30\ub2a5 \ud300\uc744 \uc774\ub044\ub294 \ub370 \uc788\uc5b4 \uae4a\uc740 \uc804\ubb38\uc131\uc744 \ubcf4\uc720\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \uc804\uc5d0\ub294 Sun\uc5d0\uc11c \uc5d4\uc9c0\ub2c8\uc5b4\ub9c1 \ud300\uc744 \uc774\ub04c\uc5c8\uc73c\uba70 Java EE \ud300\uc758 \ucc3d\ub9bd \uba64\ubc84\uc785\ub2c8\ub2e4.\r\n\r\nGupta\ub294 \uae30\uc220\uc5d0 \uad00\ud55c \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc744 2,000\uac1c \uc774\uc0c1 \uc791\uc131\ud588\uc2b5\ub2c8\ub2e4. 40\uc5ec \uac1c\uad6d\uc5d0\uc11c \uc218\ub9ce\uc740 \uc8fc\uc81c\uc5d0 \ub300\ud574 \uad11\ubc94\uc704\ud55c \uac15\uc5f0 \uacbd\ud5d8\uc744 \uac00\uc9c0\uace0 \uc788\uc73c\uba70, 3\ub144 \uc5f0\uc18d JavaOne Rock Star\ub85c \uc120\uc815\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub610\ud55c \ubbf8\uad6d\uc5d0\uc11c Devoxx4Kids \uc9c0\ubd80\ub97c \uc124\ub9bd\ud558\uc5ec \uc5b4\ub9b0\uc774\ub97c \ub300\uc0c1\uc73c\ub85c \ud55c \uae30\uc220 \uad50\uc721\uc744 \uc9c0\uc18d\uc801\uc73c\ub85c \uc7a5\ub824\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uae30\uc220\uc5d0 \uad00\ud55c \uc5ec\ub7ec \uad8c\uc758 \ucc45\uc744 \uc800\uc220\ud588\uc73c\uba70, \uc5f4\ub82c\ud55c \ub9c8\ub77c\ud1a0\ub108\uc774\uc790 \uc9c0\uad6c\ub97c \ud6a1\ub2e8\ud558\ub294 \uc0ac\ub78c, Java \ucc54\ud53c\uc5b8, JUG \ub9ac\ub354, NetBeans \ub4dc\ub9bc\ud300 \uba64\ubc84, Docker \ucea1\ud2f4\uc774\uae30\ub3c4 \ud55c \uadf8\ub294 @arungupta\uc5d0\uc11c \uc27d\uac8c \ub9cc\ub098\ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2314","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/58"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=2314"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2314\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=2314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=2314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=2314"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=2314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}