{"id":2520,"date":"2017-01-23T02:32:33","date_gmt":"2017-01-23T02:32:33","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2520"},"modified":"2023-06-21T05:43:41","modified_gmt":"2023-06-21T12:43:41","slug":"deploy-docker-compose-services-swarm","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/deploy-docker-compose-services-swarm\/","title":{"rendered":"\uc2a4\uc6dc\uc5d0 \ub3c4\ucee4 \ucef4\ud3ec\uc988 \uc11c\ube44\uc2a4 \ubc30\ud3ec\ud558\uae30"},"content":{"rendered":"<p>\ub3c4\ucee4 \uc2a4\uc6dc\uacfc \ub3c4\ucee4 \ucef4\ud3ec\uc988? \uc774\uc81c \ud568\uaed8 \uc791\ub3d9\ud569\ub2c8\ub2e4! <a href=\"https:\/\/blog.docker.com\/2017\/01\/whats-new-in-docker-1-13\/\">Docker 1.13<\/a> \uc758 \uc0c8 \ubc84\uc804\uc744 \uc18c\uac1c\ud588\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-using-docker-compose\/\">\ub3c4\ucee4 \ucef4\ud3ec\uc988<\/a>. \uc774\ubc88 \ub9b4\ub9ac\uc2a4\uc758 \uc8fc\uc694 \uae30\ub2a5\uc740 Docker Compose \ud30c\uc77c\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc815\uc758\ud55c \uc11c\ube44\uc2a4\ub97c \uc2a4\uc6dc \ubaa8\ub4dc\ub85c \ud65c\uc131\ud654\ub41c Docker \uc5d4\uc9c4\uc5d0 \uc9c1\uc811 \ubc30\ud3ec\ud560 \uc218 \uc788\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4. Docker Compose\uac00 \ud3ec\ud568\ub41c Docker Swarm\uc744 \uc0ac\uc6a9\ud558\uba74 \uba40\ud2f0 \ud638\uc2a4\ud2b8\uc5d0 \uba40\ud2f0 \ucee8\ud14c\uc774\ub108 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uac04\ud3b8\ud558\uac8c \ubc30\ud3ec\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/blog.arungupta.me\/wp-content\/uploads\/2017\/01\/docker-1.13.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14575\" src=\"https:\/\/blog.arungupta.me\/wp-content\/uploads\/2017\/01\/docker-1.13-1024x512.jpg\" alt=\"Docker 1.13\" width=\"604\" height=\"302\" \/><\/a><\/p>\n<p>\uc774 \ube14\ub85c\uadf8\uc5d0\uc11c\ub294 \uac04\ub2e8\ud55c Docker Swarm \ubc0f Docker Compose \ud30c\uc77c\uc744 \ud1b5\ud574 Docker 1.13\uc5d0\uc11c \uc11c\ube44\uc2a4\uac00 \uc5b4\ub5bb\uac8c \uc0dd\uc131\ub418\uace0 \ubc30\ud3ec\ub418\ub294\uc9c0 \ubcf4\uc5ec\ub4dc\ub9bd\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc740 Couchbase \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub178\ub4dc\ub97c \uc2dc\uc791\ud558\uae30 \uc704\ud55c Docker Compose v2 \uc815\uc758\uc785\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">version: \"2\"\r\nservices:\r\n  db:\r\n    image: arungupta\/couchbase:latest\r\n    ports:\r\n      - 8091:8091\r\n      - 8092:8092\r\n      - 8093:8093\r\n      - 11210:11210<\/pre>\n<p>\uc774 \uc815\uc758\ub294 \uc2a4\uc6dc \ubaa8\ub4dc\uac00 \uc5c6\ub294 Docker \uc5d4\uc9c4\uc5d0\uc11c \ub2e4\uc74c\uacfc \uac19\uc774 \uc2dc\uc791\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">\ub3c4\ucee4-\ucef4\ud3ec\uc9c0\ud2b8 \uc5c5<\/pre>\n<p>\uadf8\ub7ec\uba74 \uc791\uc131 \ud30c\uc77c\uc5d0 \uc815\uc758\ub41c \uc11c\ube44\uc2a4\uc758 \ub2e8\uc77c \ubcf5\uc81c\ubcf8\uc774 \uc2dc\uc791\ub429\ub2c8\ub2e4. \uc774 \uc11c\ube44\uc2a4\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ud655\uc7a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">docker-compose scale db=2<\/pre>\n<p>\uc774 \ubc29\ubc95\uc740 \ub2e8\uc77c \ud638\uc2a4\ud2b8\uc5d0\uc11c \uc815\uc0c1\uc801\uc73c\ub85c \uc791\ub3d9\ud569\ub2c8\ub2e4. \ub3c4\ucee4 \uc5d4\uc9c4\uc5d0\uc11c \uc2a4\uc6dc \ubaa8\ub4dc\uac00 \ucf1c\uc838 \uc788\uc73c\uba74 \uba54\uc2dc\uc9c0\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">WARNING: The Docker Engine you're using is running in swarm mode.\r\n\r\nCompose does not use swarm mode to deploy services to multiple nodes in a swarm. All containers will be scheduled on the current node.\r\n\r\nTo deploy your application across the swarm, use `docker stack deploy`.<\/pre>\n<p>Docker Compose\ub294 \uba40\ud2f0 \ucee8\ud14c\uc774\ub108 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc81c\uacf5\ud558\uc9c0\ub9cc \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 \uc5ec\uc804\ud788 \ub2e8\uc77c \ud638\uc2a4\ud2b8\ub85c \uc81c\ud55c\ub429\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \uc774\ub294 \ub2e8\uc77c \uc7a5\uc560 \uc9c0\uc810\uc785\ub2c8\ub2e4. \uc2a4\uc6dc \ubaa8\ub4dc\uc758 Docker Compose\ub97c \uc0ac\uc6a9\ud558\uba74 Docker \uc5d4\uc9c4\uc758 \ud074\ub7ec\uc2a4\ud130\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. 1.13\uc5d0\uc11c\ub294 <code>\ub3c4\ucee4 \uc2a4\ud0dd \ubc30\ud3ec<\/code> \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc5ec Docker Compose \ud30c\uc77c\uc744 Docker \uc2a4\uc6dc \ubaa8\ub4dc\ub85c \ubc30\ud3ec\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc740 Docker Compose v3 \uc815\uc758\uc758 \uc608\uc785\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">version: \"3\"\r\nservices:\r\n  db:\r\n    image: arungupta\/couchbase:latest\r\n    ports:\r\n      - 8091:8091\r\n      - 8092:8092\r\n      - 8093:8093\r\n      - 11210:11210<\/pre>\n<p>\ubcf4\uc2dc\ub2e4\uc2dc\ud53c \uc720\uc77c\ud55c \ubcc0\uacbd \uc0ac\ud56d\uc740 <code>\ubc84\uc804<\/code> \uc5b4\ud2b8\ub9ac\ubdf0\ud2b8\uc785\ub2c8\ub2e4. \ub2e4\ub978 <a href=\"https:\/\/docs.docker.com\/compose\/compose-file\/#version-3\">\ub3c4\ucee4 \ucef4\ud3ec\uc988 v3\uc758 \ubcc0\uacbd \uc0ac\ud56d<\/a>. \ub610\ud55c \ub2e4\uc74c\uc5d0 \ub300\ud574\uc11c\ub3c4 \uc77d\uc5b4\ubcf4\uc138\uc694. <a href=\"https:\/\/docs.docker.com\/compose\/compose-file\/#\/versioning\">\ub2e4\uc591\ud55c \ub3c4\ucee4 \ucef4\ud3ec\uc988 \ubc84\uc804<\/a>\u00a0\uadf8\ub9ac\uace0 \ubc29\ubc95 <a href=\"https:\/\/docs.docker.com\/compose\/compose-file\/#\/upgrading\">V2\uc5d0\uc11c V3\ub85c \uc5c5\uadf8\ub808\uc774\ub4dc\ud558\uc138\uc694.<\/a> \uc2a4\uc6dc \ubaa8\ub4dc\ub85c Docker Compose\ub97c \ud65c\uc131\ud654\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">\ub3c4\ucee4 \uc2a4\uc6dc \ucd08\uae30\ud654<\/pre>\n<p>\ub2e4\ub978 \ub178\ub4dc\uac00 \uc774 \uc2a4\uc6dc \ud074\ub7ec\uc2a4\ud130\uc5d0 \ucc38\uc5ec\ud560 \uc218 \uc788\uc73c\uba70 \uc774\ub97c \ud1b5\ud574 \uba40\ud2f0 \ucee8\ud14c\uc774\ub108 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uba40\ud2f0 \ud638\uc2a4\ud2b8\uc5d0\ub3c4 \uc27d\uac8c \ubc30\ud3ec\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Docker\ub97c \uc0ac\uc6a9\ud558\uc5ec Compose \ud30c\uc77c\uc5d0 \uc815\uc758\ub41c \uc2a4\uc6dc\uc5d0 \uc11c\ube44\uc2a4\ub97c \ubc30\ud3ec\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">docker stack deploy --compose-file=docker-compose.yml couchbase<\/pre>\n<p>\uc5ec\uae30\uc11c \uae30\ubcf8\uac12\uc744 \ud30c\uc77c \uc791\uc131\uc73c\ub85c \uc124\uc815\ud558\uba74 \uba85\ub839\uc774 \uc870\uae08 \ub354 \uc9e7\uc544\uc9d1\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/docker\/docker\/issues\/30352\">#30352<\/a> \uc5d0\uc11c \ucc98\ub9ac\ud574\uc57c \ud569\ub2c8\ub2e4. \uc2e4\ud589 \uc911\uc778 \uc11c\ube44\uc2a4 \ubaa9\ub85d\uc740 \ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>\ub3c4\ucee4 \uc11c\ube44\uc2a4 ls<\/code> \uba85\ub839\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">ID            NAME          MODE        REPLICAS  IMAGE\r\n05wa4y2he9w5  couchbase_db  replicated  1\/1       arungupta\/couchbase:latest\r\n<\/pre>\n<p>\uc11c\ube44\uc2a4 \ub0b4\uc5d0\uc11c \uc2e4\ud589 \uc911\uc778 \ucee8\ud14c\uc774\ub108 \ubaa9\ub85d\uc740 \ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>\ub3c4\ucee4 \uc11c\ube44\uc2a4 PS<\/code> \uba85\ub839\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">ID            NAME            IMAGE                       NODE  DESIRED STATE  CURRENT STATE           ERROR  PORTS\r\nrchu2uykeuuj  couchbase_db.1  arungupta\/couchbase:latest  moby  Running        Running 52 seconds ago<\/pre>\n<p>\uc774 \uacbd\uc6b0 \ub2e8\uc77c \ucee8\ud14c\uc774\ub108\uac00 \uc11c\ube44\uc2a4\uc758 \uc77c\ubd80\ub85c \uc2e4\ud589\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ub178\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ub098\uc5f4\ub429\ub2c8\ub2e4.\u00a0<code>moby<\/code> \ub85c \ubcc0\uacbd\ub418\uba70, \uc774\ub294 Mac\uc6a9 Docker\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2e4\ud589\ub418\ub294 Docker \uc5d4\uc9c4\uc758 \uae30\ubcf8 \uc774\ub984\uc785\ub2c8\ub2e4. \uc774\uc81c \uc11c\ube44\uc2a4\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \ud655\uc7a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">docker service scale couchbase_db=2<\/pre>\n<p>\uadf8\ub7ec\uba74 \ucee8\ud14c\uc774\ub108 \ubaa9\ub85d\uc744 \ub2e4\uc2dc \ub2e4\uc74c\uacfc \uac19\uc774 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">ID            NAME            IMAGE                       NODE  DESIRED STATE  CURRENT STATE           ERROR  PORTS\r\nrchu2uykeuuj  couchbase_db.1  arungupta\/couchbase:latest  moby  Running        Running 3 minutes ago          \r\nkjy7l14weao8  couchbase_db.2  arungupta\/couchbase:latest  moby  Running        Running 23 seconds ago<\/pre>\n<p>\ucee8\ud14c\uc774\ub108\uc5d0\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \ud615\uc2dd\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc774\ub984\uc774 \uc9c0\uc815\ub429\ub2c8\ub2e4.\u00a0<code>_n<\/code>. \ub450 \ucee8\ud14c\uc774\ub108\ub294 \ubaa8\ub450 \ub3d9\uc77c\ud55c \ud638\uc2a4\ud2b8\uc5d0\uc11c \uc2e4\ud589\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c \ub450 \ucee8\ud14c\uc774\ub108\ub294 \ub3c5\ub9bd\uc801\uc778 Couchbase \ub178\ub4dc\uc774\uba70 \uc544\uc9c1 \ud074\ub7ec\uc2a4\ud130\ub85c \uad6c\uc131\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. \uc774\uc5d0 \ub300\ud574\uc11c\ub294 \uc774\ubbf8 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-cluster-docker-swarm-compose-machine\/\">Docker\ub97c \uc0ac\uc6a9\ud55c \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ud074\ub7ec\uc2a4\ud130<\/a>\u00a0\ub2e8\uacc4\uac00 \uace7 \uc0c8\ub85c\uc6cc\uc9c8 \uc608\uc815\uc785\ub2c8\ub2e4. \uc11c\ube44\uc2a4\uc5d0\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \uc5ec\ub7ec \ud638\uc2a4\ud2b8\uc5d0 \uac78\uccd0 \uc5ec\ub7ec \uac1c\uc758 \ucee8\ud14c\uc774\ub108\uac00 \uc2e4\ud589\ub429\ub2c8\ub2e4. Docker 1.13\uc5d0\ub294 \uc0c8\ub85c\uc6b4 \uba85\ub839\uc5b4\uac00 \ub3c4\uc785\ub418\uc5c8\uc2b5\ub2c8\ub2e4. <code>\ub3c4\ucee4 \uc11c\ube44\uc2a4 \ub85c\uadf8 <\/code> \ub97c \uc0ac\uc6a9\ud558\uc5ec \ubaa8\ub4e0 \ud638\uc2a4\ud2b8\uc758 \ubaa8\ub4e0 \ucee8\ud14c\uc774\ub108\uc5d0\uc11c \uc11c\ube44\uc2a4 \ub85c\uadf8\ub97c \ucf58\uc194\ub85c \uc2a4\ud2b8\ub9ac\ubc0d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc800\ud76c\uc758 \uacbd\uc6b0, \ub2e4\uc74c \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>\ub3c4\ucee4 \uc11c\ube44\uc2a4 \ub85c\uadf8 couchbase_db<\/code>\u00a0\ucc98\ub7fc \ubcf4\uc785\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">couchbase_db.1.rchu2uykeuuj@moby    | ++ set -m\r\ncouchbase_db.1.rchu2uykeuuj@moby    | ++ sleep 15\r\ncouchbase_db.1.rchu2uykeuuj@moby    | ++ \/entrypoint.sh couchbase-server\r\ncouchbase_db.2.kjy7l14weao8@moby    | ++ set -m\r\ncouchbase_db.2.kjy7l14weao8@moby    | ++ sleep 15\r\ncouchbase_db.1.rchu2uykeuuj@moby    | Starting Couchbase Server -- Web UI available at https:\/\/:8091 and logs available in \/opt\/couchbase\/var\/lib\/couchbase\/logs\r\ncouchbase_db.1.rchu2uykeuuj@moby    | ++ curl -v -X POST https:\/\/127.0.0.1:8091\/pools\/default -d memoryQuota=300 -d indexMemoryQuota=300\r\ncouchbase_db.2.kjy7l14weao8@moby    | ++ \/entrypoint.sh couchbase-server\r\ncouchbase_db.2.kjy7l14weao8@moby    | Starting Couchbase Server -- Web UI available at https:\/\/:8091 and logs available in \/opt\/couchbase\/var\/lib\/couchbase\/logs\r\n\r\n. . .\r\n\r\ncouchbase_db.1.rchu2uykeuuj@moby    | ++ '[' '' = WORKER ']'\r\ncouchbase_db.2.kjy7l14weao8@moby    | Content-Type: application\/json\r\ncouchbase_db.1.rchu2uykeuuj@moby    | ++ fg 1\r\ncouchbase_db.2.kjy7l14weao8@moby    | Content-Length: 152\r\ncouchbase_db.1.rchu2uykeuuj@moby    | \/entrypoint.sh couchbase-server\r\ncouchbase_db.2.kjy7l14weao8@moby    | Cache-Control: no-cache\r\ncouchbase_db.2.kjy7l14weao8@moby    | \r\ncouchbase_db.2.kjy7l14weao8@moby    | ++ echo 'Type: '\r\ncouchbase_db.2.kjy7l14weao8@moby    | ++ '[' '' = WORKER ']'\r\ncouchbase_db.2.kjy7l14weao8@moby    | ++ fg 1\r\ncouchbase_db.2.kjy7l14weao8@moby    | {\"storageMode\":\"memory_optimized\",\"indexerThreads\":0,\"memorySnapshotInterval\":200,\"stableSnapshotInterval\":5000,\"maxRollbackPoints\":5,\"logLevel\":\"info\"}Type: \r\ncouchbase_db.2.kjy7l14weao8@moby    | \/entrypoint.sh couchbase-server<\/pre>\n<p>\ub85c\uadf8 \ubb38\uc758 \uc11c\ubb38\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \ud615\uc2dd\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. <code>.@<\/code>. \uadf8\ub7ec\uba74 \ucee8\ud14c\uc774\ub108\uc758 \uc2e4\uc81c \ub85c\uadf8 \uba54\uc2dc\uc9c0\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4. \ucc98\uc74c\uc5d0\ub294 \ucee8\ud14c\uc774\ub108 ID\ub97c \ucca8\ubd80\ud558\ub294 \uac83\uc774 \uc911\ubcf5\ub418\uc5b4 \ubcf4\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc\u00a0<a href=\"https:\/\/docs.docker.com\/engine\/swarm\/swarm-tutorial\/deploy-service\/\">\ub3c4\ucee4 \uc11c\ube44\uc2a4<\/a> \ub294 \uc790\uac00 \ubcf5\uad6c \uae30\ub2a5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc989, \ucee8\ud14c\uc774\ub108\uac00 \uc8fd\uc73c\uba74 Docker \uc5d4\uc9c4\uc740 \uc9c0\uc815\ub41c \uc2dc\uac04\uc5d0 \uc9c0\uc815\ub41c \uc218\uc758 \ubcf5\uc81c\ubcf8\uc744 \ubcf4\uc7a5\ud558\uae30 \uc704\ud574 \ub2e4\ub978 \ucee8\ud14c\uc774\ub108\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4. \uc774 \uc0c8 \ucee8\ud14c\uc774\ub108\ub294 \uc0c8 ID\ub97c \uac16\uac8c \ub429\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc62c\ubc14\ub978 \ucee8\ud14c\uc774\ub108\uc5d0\uc11c \ub85c\uadf8 \uba54\uc2dc\uc9c0\ub97c \ucca8\ubd80\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uba85\ub839\uc5b4\ub97c \uac04\ub2e8\ud788 \ube44\uad50\ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n<table>\n<tbody>\n<tr>\n<th><\/th>\n<th>\u00a0Docker Compose v2<\/th>\n<th>\u00a0\ub3c4\ucee4 \ucef4\ud3ec\uc988 v3<\/th>\n<\/tr>\n<tr>\n<td>\u00a0\uc11c\ube44\uc2a4 \uc2dc\uc791<\/td>\n<td><code>\ub3c4\ucee4-\ucef4\ud3ec\uc9c0\ud2b8 \uc5c5 -d<\/code><\/td>\n<td><code>\ub3c4\ucee4 \uc2a4\ud0dd \ubc30\ud3ec --compose-file=docker-compose.yml \u00a0<\/code><\/td>\n<\/tr>\n<tr>\n<td>\u00a0\uc2a4\ucf00\uc77c \uc11c\ube44\uc2a4<\/td>\n<td><code>\ub3c4\ucee4-\ucef4\ud3ec\uc9c0\uc158 \uc2a4\ucf00\uc77c =<\/code><\/td>\n<td><code>\ub3c4\ucee4 \uc11c\ube44\uc2a4 \uaddc\ubaa8 =<\/code><\/td>\n<\/tr>\n<tr>\n<td>\u00a0\uc885\ub8cc<\/td>\n<td><code>\ub3c4\ucee4-\ucef4\ud3ec\uc9c0\ud2b8 \ub2e4\uc6b4<\/code><\/td>\n<td><code>\ub3c4\ucee4 \uc2a4\ud0dd RM <\/code><\/td>\n<\/tr>\n<tr>\n<td>\u00a0\uba40\ud2f0 \ud638\uc2a4\ud2b8<\/td>\n<td>\uc544\ub2c8\uc694<\/td>\n<td>\uc608<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Couchbase\ub97c \uc2dc\uc791\ud558\uace0 \uc2f6\uc73c\uc2e0\uac00\uc694? \ub2e4\uc74c\uc744 \uc0b4\ud3b4\ubcf4\uc138\uc694. <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5\/getting-started\/starter-kits.html\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc2a4\ud0c0\ud130 \ud0a4\ud2b8<\/a>. \ucee8\ud14c\uc774\ub108\uc5d0\uc11c Couchbase\ub97c \uc2e4\ud589\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uace0 \uc2f6\uc73c\uc2e0\uac00\uc694?<\/p>\n<ul>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/containers\/\">\ucee8\ud14c\uc774\ub108\uc758 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/forums\/\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ud3ec\ub7fc<\/a><\/li>\n<li><a href=\"https:\/\/developer.couchbase.com\/\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uac1c\ubc1c\uc790 \ud3ec\ud138<\/a><\/li>\n<li><a href=\"https:\/\/twitter.com\/couchbasedev\">@couchhasedev<\/a> \uadf8\ub9ac\uace0 <a href=\"https:\/\/twitter.com\/couchbase\">@couchbase<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Docker Swarm vs Docker Compose? Now they work together! Docker 1.13 introduced a new version of Docker Compose. The main feature of this release is that it allow services defined using Docker Compose files to be directly deployed to Docker [&hellip;]<\/p>","protected":false},"author":58,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"ppma_author":[8933],"class_list":["post-2520","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Deploy Docker Compose Services to Swarm with Examples<\/title>\n<meta name=\"description\" content=\"This Couchbase blog post uses the example of a simple Docker Compose file to show how services are created and deployed in Docker 1.13 with Swarm mode.\" \/>\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\/deploy-docker-compose-services-swarm\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deploy Docker Compose Services to Swarm\" \/>\n<meta property=\"og:description\" content=\"This Couchbase blog post uses the example of a simple Docker Compose file to show how services are created and deployed in Docker 1.13 with Swarm mode.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/deploy-docker-compose-services-swarm\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-23T02:32:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-21T12:43:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.arungupta.me\/wp-content\/uploads\/2017\/01\/docker-1.13-1024x512.jpg\" \/>\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=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/\"},\"author\":{\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f\"},\"headline\":\"Deploy Docker Compose Services to Swarm\",\"datePublished\":\"2017-01-23T02:32:33+00:00\",\"dateModified\":\"2023-06-21T12:43:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/\"},\"wordCount\":611,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/\",\"name\":\"Deploy Docker Compose Services to Swarm with Examples\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-01-23T02:32:33+00:00\",\"dateModified\":\"2023-06-21T12:43:41+00:00\",\"description\":\"This Couchbase blog post uses the example of a simple Docker Compose file to show how services are created and deployed in Docker 1.13 with Swarm mode.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/#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\/deploy-docker-compose-services-swarm\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deploy Docker Compose Services to Swarm\"}]},{\"@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":"Deploy Docker Compose Services to Swarm with Examples","description":"\uc774 Couchbase \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 \uac04\ub2e8\ud55c Docker Compose \ud30c\uc77c\uc758 \uc608\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2a4\uc6dc \ubaa8\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec Docker 1.13\uc5d0\uc11c \uc11c\ube44\uc2a4\ub97c \uc0dd\uc131\ud558\uace0 \ubc30\ud3ec\ud558\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4.","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\/deploy-docker-compose-services-swarm\/","og_locale":"ko_KR","og_type":"article","og_title":"Deploy Docker Compose Services to Swarm","og_description":"This Couchbase blog post uses the example of a simple Docker Compose file to show how services are created and deployed in Docker 1.13 with Swarm mode.","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/deploy-docker-compose-services-swarm\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-01-23T02:32:33+00:00","article_modified_time":"2023-06-21T12:43:41+00:00","og_image":[{"url":"https:\/\/blog.arungupta.me\/wp-content\/uploads\/2017\/01\/docker-1.13-1024x512.jpg","type":"","width":"","height":""}],"author":"Arun Gupta, VP, Developer Advocacy, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@arungupta","twitter_misc":{"Written by":"Arun Gupta, VP, Developer Advocacy, Couchbase","Est. reading time":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/"},"author":{"name":"Arun Gupta, VP, Developer Advocacy, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f"},"headline":"Deploy Docker Compose Services to Swarm","datePublished":"2017-01-23T02:32:33+00:00","dateModified":"2023-06-21T12:43:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/"},"wordCount":611,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Uncategorized"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/","url":"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/","name":"Deploy Docker Compose Services to Swarm with Examples","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-01-23T02:32:33+00:00","dateModified":"2023-06-21T12:43:41+00:00","description":"\uc774 Couchbase \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 \uac04\ub2e8\ud55c Docker Compose \ud30c\uc77c\uc758 \uc608\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2a4\uc6dc \ubaa8\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec Docker 1.13\uc5d0\uc11c \uc11c\ube44\uc2a4\ub97c \uc0dd\uc131\ud558\uace0 \ubc30\ud3ec\ud558\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/deploy-docker-compose-services-swarm\/#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\/deploy-docker-compose-services-swarm\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Deploy Docker Compose Services to Swarm"}]},{"@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\/2520","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=2520"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2520\/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=2520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=2520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=2520"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=2520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}