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:
- 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:
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 | < 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:
- 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 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. |