DevOps

Couchbase 4.1 Docker Container

Couchbase 4.1 was recently released. Highlights of this release are:

  • N1QL: Complete SQL CRUD Support with N1QL for Batch and OLTP Applications
  • Covering Indexes
  • Prepared Statements
  • Additional Supported Platforms

You can read all about it at Introducing Couchbase Server 4.1 and also watch a replay of Hands-on Introduction to What’s New in Couchbase 4.1:

Getting Started with Couchbase 4.1 and Docker

Use the following Docker Compose file:

1
2
3
4
5
6
7
mycouchbase:
  image: arungupta/couchbase
  ports:
    - 8091:8091
    - 8092:8092
    - 8093:8093
    - 11210:11210

to start a pre-configured Couchbase 4.1 Docker container:

1
2
docker-compose up -d
Creating couchbase_mycouchbase_1

This will:

The logs can be seen as:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
docker-compose logs
Attaching to couchbase_mycouchbase_1
mycouchbase_1 | Starting Couchbase Server -- Web UI available at http://<ip>:8091
mycouchbase_1 | *   Trying 127.0.0.1...
mycouchbase_1 |   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
mycouchbase_1 |                                  Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to 127.0.0.1 (127.0.0.1) port 8091 (#0)
mycouchbase_1 | > POST /pools/default HTTP/1.1
mycouchbase_1 | > User-Agent: curl/7.40.0-DEV
mycouchbase_1 | > Host: 127.0.0.1:8091
mycouchbase_1 | > Accept: */*
mycouchbase_1 | > Content-Length: 36
mycouchbase_1 | > Content-Type: application/x-www-form-urlencoded
mycouchbase_1 | >
mycouchbase_1 | } [36 bytes data]
mycouchbase_1 | * upload completely sent off: 36 out of 36 bytes
mycouchbase_1 | < HTTP/1.1 200 OK
mycouchbase_1 | < Server: Couchbase Server
mycouchbase_1 | < Pragma: no-cache
mycouchbase_1 | < Date: Thu, 17 Dec 2015 05:30:16 GMT
mycouchbase_1 | < Content-Length: 0
mycouchbase_1 | < Cache-Control: no-cache
mycouchbase_1 | <
100    36    0     0  100    36      0   1820 --:--:-- --:--:-- --:--:--  2000
mycouchbase_1 | * Connection #0 to host 127.0.0.1 left intact
mycouchbase_1 | *   Trying 127.0.0.1...
mycouchbase_1 |   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
mycouchbase_1 |                                  Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to 127.0.0.1 (127.0.0.1) port 8091 (#0)
mycouchbase_1 | > POST /node/controller/setupServices HTTP/1.1
mycouchbase_1 | > User-Agent: curl/7.40.0-DEV
mycouchbase_1 | > Host: 127.0.0.1:8091
mycouchbase_1 | > Accept: */*
mycouchbase_1 | > Content-Length: 26
mycouchbase_1 | > Content-Type: application/x-www-form-urlencoded
mycouchbase_1 | >
mycouchbase_1 | } [26 bytes data]
mycouchbase_1 | * upload completely sent off: 26 out of 26 bytes
mycouchbase_1 | < HTTP/1.1 200 OK
mycouchbase_1 | < Server: Couchbase Server
mycouchbase_1 | < Pragma: no-cache
mycouchbase_1 | < Date: Thu, 17 Dec 2015 05:30:16 GMT
mycouchbase_1 | < Content-Length: 0
mycouchbase_1 | < Cache-Control: no-cache
mycouchbase_1 | <
100    26    0     0  100    26      0   2670 --:--:-- --:--:-- --:--:--  2888
mycouchbase_1 | * Connection #0 to host 127.0.0.1 left intact
mycouchbase_1 | *   Trying 127.0.0.1...
mycouchbase_1 |   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
mycouchbase_1 |                                  Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to 127.0.0.1 (127.0.0.1) port 8091 (#0)
mycouchbase_1 | > POST /settings/web HTTP/1.1
mycouchbase_1 | > User-Agent: curl/7.40.0-DEV
mycouchbase_1 | > Host: 127.0.0.1:8091
mycouchbase_1 | > Accept: */*
mycouchbase_1 | > Content-Length: 50
mycouchbase_1 | > Content-Type: application/x-www-form-urlencoded
mycouchbase_1 | >
mycouchbase_1 | } [50 bytes data]
mycouchbase_1 | * upload completely sent off: 50 out of 50 bytes
mycouchbase_1 | < HTTP/1.1 200 OK
mycouchbase_1 | < Server: Couchbase Server
mycouchbase_1 | < Pragma: no-cache
mycouchbase_1 | < Date: Thu, 17 Dec 2015 05:30:16 GMT
mycouchbase_1 | {"newBaseUri":"http://127.0.0.1:8091/"}< Content-Type: application/json
mycouchbase_1 | < Content-Length: 39
mycouchbase_1 | < Cache-Control: no-cache
mycouchbase_1 | <
mycouchbase_1 | { [39 bytes data]
100    89  100    39  100    50   3544   4543 --:--:-- --:--:-- --:--:--  5000
mycouchbase_1 | * Connection #0 to host 127.0.0.1 left intact
mycouchbase_1 | *   Trying 127.0.0.1...
mycouchbase_1 |   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
mycouchbase_1 |                                  Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to 127.0.0.1 (127.0.0.1) port 8091 (#0)
mycouchbase_1 | * Server auth using Basic with user 'Administrator'
mycouchbase_1 | > POST /sampleBuckets/install HTTP/1.1
mycouchbase_1 | > Authorization: Basic QWRtaW5pc3RyYXRvcjpwYXNzd29yZA==
mycouchbase_1 | > User-Agent: curl/7.40.0-DEV
mycouchbase_1 | > Host: 127.0.0.1:8091
mycouchbase_1 | > Accept: */*
mycouchbase_1 | > Content-Length: 17
mycouchbase_1 | > Content-Type: application/x-www-form-urlencoded
mycouchbase_1 | >
mycouchbase_1 | } [17 bytes data]
mycouchbase_1 | * upload completely sent off: 17 out of 17 bytes
mycouchbase_1 | < HTTP/1.1 202 Accepted
mycouchbase_1 | < Server: Couchbase Server
mycouchbase_1 | < Pragma: no-cache
mycouchbase_1 | < Date: Thu, 17 Dec 2015 05:30:16 GMT
mycouchbase_1 | < []Content-Type: application/json
mycouchbase_1 | < Content-Length: 2
mycouchbase_1 | < Cache-Control: no-cache
mycouchbase_1 | <
mycouchbase_1 | { [2 bytes data]
100    19  100     2  100    17     29    251 --:--:-- --:--:-- --:--:--   253
mycouchbase_1 | * Connection #0 to host 127.0.0.1 left intact
mycouchbase_1 | /entrypoint.sh couchbase-server

Connect to CBQ (Couchbase Query tool):

1
2
3
docker run -it couchbase /opt/couchbase/bin/cbq -engine=http://$(docker-machine ip couchbase):8093
Couchbase query shell connected to http://192.168.99.102:8093/ . Type Ctrl-D to exit.
cbq>

Learn more about Running N1QL Queries from Command Line.

Stop the server:

1
 

Remove the container:

1
 

Read more about Couchbase 4.1:

Share feedback with us at forums.couchbase.com or Stackoverflow.

Enjoy!

Reference: Couchbase 4.1 Docker Container from our JCG partner Arun Gupta at the Miles to go 2.0 … blog.
Do you want to know how to develop your skillset to become a Java Rockstar?
Subscribe to our newsletter to start Rocking right now!
To get you started we give you our best selling eBooks for FREE!
1. JPA Mini Book
2. JVM Troubleshooting Guide
3. JUnit Tutorial for Unit Testing
4. Java Annotations Tutorial
5. Java Interview Questions
6. Spring Interview Questions
7. Android UI Design
and many more ....
I agree to the Terms and Privacy Policy

Arun Gupta

Arun is a technology enthusiast, avid runner, author of a best-selling book, globe trotter, a community guy, Java Champion, JavaOne Rockstar, JUG Leader, Minecraft Modder, Devoxx4Kids-er, and a Red Hatter.
Subscribe
Notify of
guest


This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Back to top button