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:
- Start Couchbase 4.1 Server (Dockerfile)
- Configure it using Couchbase REST API as explained in Configure Couchbase Docker Container using REST API
- Sets up memory and index quota
- Sets up Query, Data, and Index service
- Configures username and password credentials
- Install
travel-sample
bucket
The logs can be seen as:
1 2 3 4 5 6 7 8 9 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 |
docker-compose logs Attaching to couchbase_mycouchbase_1 mycouchbase_1 | Starting Couchbase Server -- Web UI available at http://: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 2 |
docker-compose stop Stopping couchbase_mycouchbase_1 ... done |
Remove the container:
1 2 3 |
docker-compose rm -f Going to remove couchbase_mycouchbase_1 Removing couchbase_mycouchbase_1 ... done |
Read more about Couchbase 4.1:
- What’s New in Couchbase Server 4.1 documentation
- Download Couchbase Server 4.1
- Couchbase Server documentation
- Release Notes for 4.1
- Couchbase ODBC and JDBC Drivers with SQL Connector
Share feedback with us at couchbase.com/forums or Stackoverflow. Enjoy!