Coder Social home page Coder Social logo

docker's Introduction

This repository contains the Dockerfiles and configuration scripts for the Official Couchbase Docker images.

If you are a casual user, you probably don't care about this repo, instead you should head over to one of the Couchbase Dockerhub repositories:

Directory layout

  • community/* and enterprise/* contain generated Dockerfiles + assets -- do not edit

  • generate/ contains everything needed to generate the Dockerfiles and assets -- everything you want to edit is here

Regenerating from templates

After you change anything under the generate directory, you should regenerate from the templates.

Prerequisites

Steps

$ cd <project-dir>/generate/generator
$ go generate

Expected output:

2020/01/20 16:15:23 ../../community/couchbase-server/5.0.1/Dockerfile exists, skipping...
2020/01/20 16:15:23 ../../community/couchbase-server/5.1.1/Dockerfile exists, skipping...
2020/01/20 16:15:23 ../../community/couchbase-server/6.0.0/Dockerfile exists, skipping...
2020/01/20 16:15:23 ../../community/couchbase-server/6.0.2/Dockerfile exists, skipping...
2020/01/20 16:15:23 generateDockerfile called with: {community couchbase-server 6.5.0 false}
2020/01/20 16:15:25 https://packages.couchbase.com/releases/6.5.0/couchbase-server-community_6.5.0-ubuntu16.04_amd64.deb.sha256
2020/01/20 16:15:25 ../../community/sync-gateway/1.0.4/Dockerfile exists, skipping...
2020/01/20 16:15:25 ../../community/sync-gateway/1.1.0/Dockerfile exists, skipping...
2020/01/20 16:15:25 Successfully finished!

At this point, you should push your changes to github.

Adding a new Couchbase Server version + dockerhub tag

Create directory

Suppose you want to create a docker image for the newly released Couchbase Server version 9.0.0:

$ cd <project-dir>/enterprise/couchbase-server
$ mkdir 9.0.0

Regerate from templates

See instructions above.

Push to github

Commit and push to github

Kick off dockerhub build

Login to dockerhub (you need to be on the couchbase team for this step) and create a new build that corresponds to that directory, and enter a matching tag, eg:

  • Branch: master
  • Dockerfile Location: /enterprise/couchbase-server/9.0.0
  • Docker Tag Name: enterprise-9.0.0

Overriding download url for a "devbuild" or "release candidate" version

If the package binaries are not available on packages.couchbase.com, this is an alternative way of generating the dockerfile.

  1. Create the directory you want: eg /enterprise/sync-gateway/2.0.0-devbuild

  2. Upload the binary package to a publicly available location. (see existing entries)

  3. Update the init() function in generate.go to add a new version customization to the list, following suit w/ the existing one(s), and pointing to the binary package url from the previous step.

  4. Regenerate as usual

  5. Verify that the generated dockerfile has the customized package url.

docker's People

Contributors

1tylermitchell avatar avsej avatar bbrks avatar brantburnett avatar cb-robot avatar ceejatec avatar chippiewill avatar cihanb avatar combinatorial avatar dharanikesav avatar donkeyoatie avatar guenhter avatar hookenz avatar jamesnocentini avatar jflath avatar mhocouchbase avatar michaelkwok avatar misterbisson avatar steveyen avatar tianon avatar tleyden avatar torcolvin avatar udkyo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker's Issues

Can't cluster-init with ram setting on rc0

In rc0 when I run cluster-init command I get an error as it always defaults to the largest possible index ignoring the --cluster-index-ramsize property.

This works fine in enterprise-4.0.0-3508

How to use image for CI?

Hi, I'm planning to use couchbase but I couldn't find a solution to automate the installation of the database. I want to run it on travis or appveyor. What's the way to go here?

Container should include all system utilities expected for cbcollect_info

  • arp
  • cat
  • cbbrowse_logs
  • cbstats
  • curl
  • df
  • dmesg
  • echo
  • filefrag
  • find
  • free
  • getent
  • ifconfig
  • intrstat
  • iostat
  • ip
  • ls
  • lsb_release
  • lshw
  • lsmod
  • lsof
  • lvdisplay
  • mpstat
  • netstat
  • numactl
  • pgrep
  • ps
  • pvdisplay
  • rpm
  • sar
  • sh
  • ss
  • su
  • swapon
  • sysctl
  • tar
  • top
  • ulimit
  • uname
  • uptime
  • vgdisplay
  • vmstat
  • xargs

Many of these utilities (Such as netstat) are not included in the base image. Obviously a few are bundled with Couchbase (Like curl) and some may not be appropriate (Such as rpm), but the majority should be these.

List source: https://raw.githubusercontent.com/membase/ns_server/a643e281c3a2b39aa5791922a1342df2135e2d9a/doc/cbcollect_info_deps.txt

3.0.3-enterprise doesn't start up

Seems some golang binaries don't work on OS X and the server is not starting up:

docker run -d --name db -p 8091-8094:8091-8094 -p 11210:11210 couchbase:enterprise-3.0.3

root@59f520c81ba4:/opt/couchbase/bin# ./generate_cert
Trace/breakpoint trap
root@59f520c81ba4:/opt/couchbase/bin# ./gozip
Trace/breakpoint trap
root@59f520c81ba4:/opt/couchbase/bin# uname -a
Linux 59f520c81ba4 4.9.31-moby #1 SMP Sat Jun 24 06:29:23 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
MathBook:couchbase-cluster leo$ uname -a
Darwin MathBook 16.6.0 Darwin Kernel Version 16.6.0: Fri Apr 14 16:21:16 PDT 2017; root:xnu-3789.60.24~6/RELEASE_X86_64 x86_64
MathBook:couchbase-cluster leo$ docker -v
Docker version 17.06.0-ce, build 02c1d87

Having the same issue on Amazon Linux 7.

Running couchbase as non root user

Hello,
I see you are creating a specific user (RUN groupadd -g 1000 couchbase && useradd couchbase -u 1000 -g couchbase -M) that could be mapped later to a user in the local machine but I didn't see the use of USER command to run as the created user.
Any explication please why not using the USER command?
Thanks

Curl does not work in Ubuntu 12.04 container

I am trying to get around #12

By using the REST API rather then couchbase-cli

How ever when ever I use curl in the container I get "curl: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory"

It seems their are two solutions one install updated curl from "ppa:costamagnagianfranco/ettercap-stable-backports"

Or rebase the container on either Debian 7 or Ubuntu 14.04

I would be happy to issue a PR for either option.

Persist data on couchbase

Hi guys, I'd like to know how can I persist data on a couchbase docker container using docker-compose or at least buckets structure.
Thanks

Run couchbase-server/4.0.0-beta with N1QL

Hi,

I tried run your docker couchbase-server/4.0.0-beta image with N1QL however I am not able to query through curl. I can't see in your Dockerfile that you are exposing port 8093, is this port still required for Couchbase 4 to use N1QL?

curl -v http://localhost:8093/query/service -d "statement=SELECT * FROM default WHERE type = 'partner'" 
 Hostname was NOT found in DNS cache
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 8093 (#0)
> POST /query/service HTTP/1.1
> User-Agent: curl/7.35.0
> Host: localhost:8093
> Accept: */*
> Content-Length: 54
> Content-Type: application/x-www-form-urlencoded
> 
* upload completely sent off: 54 out of 54 bytes
* Empty reply from server
* Connection #0 to host localhost left intact
curl: (52) Empty reply from server

Fix 4.0.0-foo generation for Couchbase Server

If there's a directory like 4.0.0-dp or 4.0.0-beta, in the Dockerfile that gets turned into

ENV CB_VERSION=feature/dp

That URL fragment makes sense for Sync Gateway, but not Couchbase Server, so the resulting Dockerfile is broken.

Need to make this tweaking specific to sync gateway Dockerfiles.

Unexpected crash when using --net=host

Hi,

I'm experiencing strange issues on some openstack instances, when starting instances with --net=host, couchbase is continuous crashing.

docker run --net=host -ti --rm --name couchbase couchbase:community-4.5.1
Jun 29 17:31:41 cache1 docker[6161]: Starting Couchbase Server -- Web UI available at http://<ip>:8091
Jun 29 17:31:41 cache1 docker[6161]: and logs available in /opt/couchbase/var/lib/couchbase/logs
Jun 29 17:31:43 cache1 docker[6161]: [1B blob data]
Jun 29 17:31:43 cache1 docker[6161]: Crash dump was written to: erl_crash.dump.1530285576.217.babysitter
Jun 29 17:31:43 cache1 docker[6161]: Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{k

Kernel

Linux cache1 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 GNU/Linux

Docker info

Containers: 1
 Running: 1
 Paused: 0
 Stopped: 0
Images: 2
Server Version: 18.05.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 773c489c9c1b21a6d78b5c538cd395416ec50f88
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.9.0-6-amd64
Operating System: Debian GNU/Linux 9 (stretch)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 6.654GiB
Name: cache1
ID: TLIC:QRXG:TUSJ:MLY6:RD5R:U5XI:NOCL:6RTU:TJGM:G5GK:J3X6:RLS3
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: true

WARNING: No swap limit support
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

Crash dump attached :

erl_crash.dump.1530285576.217.babysitter.txt

Add environment variables to set up a cluster without manual steps

I'm trying to run couchbase/server:community-4.5.0 in a Kubernetes StatefulSet. It would be tremendously helpful if this docker image exposed a number of environment variables to configure the nodes automatically.

  • MASTER_NODE
  • PORT
  • RAM_SIZE_MB
  • INDEX_RAM_SIZE_MB
  • FTS_RAM_SIZE_MB
  • SERVICES
  • STORAGE_SETTING
  • USER
  • PASSWORD

On the first node to be created this action could initialize the cluster:

couchbase-cli cluster-init \
  --cluster-username=${USER} \
  --cluster-password=${PASSWORD} \
  --cluster-port=${PORT} \
  --services=${SERVICES} \
  --cluster-ramsize=${RAM_SIZE_MB} \
  --cluster-index-ramsize=${INDEX_RAM_SIZE_MB} \
  --cluster-fts-ramsize=${FTS_RAM_SIZE_MB} \
  --index-storage-setting=${STORAGE_SETTING}

On the other nodes they would run the following command to get added to the cluster:

couchbase-cli rebalance \
  --cluster=${MASTER_NODE}:${PORT} \
  --user=${USER} \
  --password=${PASSWORD} \
  --server-add=$(hostname):${PORT} \
  --server-add-username=${USER} \
  --server-add-password=${PASSWORD} \
  --service=${SERVICES}

Expose port 8093

Port 8093 need to be exposed in order for queries to be executed. Otherwise it throws the following exception:

17:54:32,917 WARN  [com.couchbase.client.core.endpoint.Endpoint] (cb-io-1-4) [null][QueryEndpoint]: Could not connect to endpoint, retrying with delay 32 MILLISECONDS: : java.net.ConnectException: Connection refused: dockerhost/192.168.99.100:8093
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
    at com.couchbase.client.deps.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:224)

Unable to start Sync Gateway using docker-compose up command line tool

I am using docker-compose to run couchbase server and sync gateway.
I am following instructions as described in README.md.

Couchbase is running fine. I was able to start and configure it.
However Sync Gateway throwing an error:

WARNING: Error from Incr in sequence allocator (0) - attempt (3/3): EOF -- db.(*sequenceAllocator).incrWithRetry() at sequence_allocator.go:88

And then

FATAL: Error opening database: Unable to increment sequence: EOF -- rest.RunServer() at config.go:758

Full logs:

docker-compose up
Starting couchbaseserversyncgateway_sync-gateway_1 ...
couchbaseserversyncgateway_couchbase-server_1 is up-to-date
Starting couchbaseserversyncgateway_sync-gateway_1 ... done
Attaching to couchbaseserversyncgateway_couchbase-server_1, couchbaseserversyncgateway_sync-gateway_1
sync-gateway_1 | 2017-12-21T22:16:32.095Z Enabling logging: [HTTP+]
sync-gateway_1 | 2017-12-21T22:16:32.096Z ==== Couchbase Sync Gateway/1.4.0(2;9e18d3e) ====
sync-gateway_1 | 2017-12-21T22:16:32.096Z requestedSoftFDLimit < currentSoftFdLimit (5000 < 1048576) no action needed
sync-gateway_1 | 2017-12-21T22:16:32.096Z Opening db /db as bucket "default", pool "default", server http://couchbase-server:8091
sync-gateway_1 | 2017-12-21T22:16:32.097Z Opening Couchbase database default on http://couchbase-server:8091 as user "default"
sync-gateway_1 | _time=2017-12-21T22:16:32.118+00:00 _level=INFO _msg= Trying with selected node 0
sync-gateway_1 | _time=2017-12-21T22:16:32.120+00:00 _level=INFO _msg= Trying with http://172.19.0.3:8091/pools/default/bucketsStreaming/default
couchbase-server_1 | Starting Couchbase Server -- Web UI available at http://:8091 and logs available in /opt/couchbase/var/lib/couchbase/logs
couchbase-server_1 | Starting Couchbase Server -- Web UI available at http://:8091 and logs available in /opt/couchbase/var/lib/couchbase/logs
couchbase-server_1 | Starting Couchbase Server -- Web UI available at http://:8091 and logs available in /opt/couchbase/var/lib/couchbase/logs
couchbase-server_1 | Starting Couchbase Server -- Web UI available at http://:8091 and logs available in /opt/couchbase/var/lib/couchbase/logs
sync-gateway_1 | _time=2017-12-21T22:16:32.130+00:00 _level=INFO _msg=Got new configuration for bucket default
sync-gateway_1 | _time=2017-12-21T22:16:32.293+00:00 _level=INFO _msg= Trying with selected node 0
sync-gateway_1 | 2017-12-21T22:16:32.440Z WARNING: Error from Incr in sequence allocator (0) - attempt (1/3): EOF -- db.(*sequenceAllocator).incrWithRetry() at sequence_allocator.go:88
sync-gateway_1 | 2017-12-21T22:16:32.453Z WARNING: Error from Incr in sequence allocator (0) - attempt (2/3): EOF -- db.(*sequenceAllocator).incrWithRetry() at sequence_allocator.go:88
sync-gateway_1 | 2017-12-21T22:16:32.466Z WARNING: Error from Incr in sequence allocator (0) - attempt (3/3): EOF -- db.(*sequenceAllocator).incrWithRetry() at sequence_allocator.go:88
sync-gateway_1 | 2017-12-21T22:16:32.476Z WARNING: Too many unsuccessful Incr attempts in sequence allocator - giving up (0): EOF -- db.(*sequenceAllocator).incrWithRetry() at sequence_allocator.go:94
sync-gateway_1 | 2017-12-21T22:16:32.476Z WARNING: Error from Incr in _reserveSequences(0): Unable to increment sequence: EOF -- db.(*sequenceAllocator)._reserveSequences() at sequence_allocator.go:65
sync-gateway_1 | 2017-12-21T22:16:32.476Z FATAL: Error opening database: Unable to increment sequence: EOF -- rest.RunServer() at config.go:758
couchbaseserversyncgateway_sync-gateway_1 exited with code 1

Couchbase for ARMv8

Hello,

Are there any plans to officially host / support all the required dependent binaries for ARMv8 ? Any thing I can help with to make it possible ?

Regards,
Khasim

Couchbase service stopped and Docker container didn't restart

This was on Redhat 7 (SELinux) with docker 1.7.1
At this point we are not sure why the service stopped, we'll update this issue if we can work out what happened. Manually starting the service using service couchbase-server start wasn't able to start the server again, so we restarted the docker container and everything is working properly.

Obviously this should happen and we're surprised the container didn't restart. I can't guarantee it'll happen again, however if it does what information would be helpful to gather?

Use of "ubuntu:12.04"

Ubuntu 12.04 reached end of life on April 28, 2017 (http://releases.ubuntu.com/12.04/), and as such the ubuntu:12.04 image is no longer supported.

It's currently in use by the couchbase:enterprise-3.1.6 and couchbase:community-3.1.3 official image tags. These should either also be deprecated (if Couchbase 3.1 is also no longer supported) or updated to use a newer base.

Thanks!

Persistent Volume and changing IPs

In the "Best Practices" it states:

Persistence: Storing /opt/couchbase/var outside the container with the -v option allows you to delete the container and recreate it later without losing the data in Couchbase Server. [...]

Unfortunately this won't work when recreating the Docker container with a new IP, since the IP addresses of hosts is part of this persistent volume. Since this scenario is a very usual case when working with lots of containers in practice, I would like to ask how the official guide from couchbase is, in order to avoid breaking couchbase instances when e.g. updating (usually done by recreating containers) or migrating (usually done by removing and creating on different location) them.

Thank you in advance.

Sync Gateway docker with ubuntu

Hi,
I'm trying to build a docker image with sync_gateway using ubuntu as a base. I'm getting the sync_gateway .deb package using wget then using "dpkg -i" to install this. The deb package is http://packages.couchbase.com/releases/couchbase-sync-gateway/1.4.0/couchbase-sync-gateway-community_1.4.0-2_x86_64.deb

The failure happens during the dpkg postinst configure phase, when it tries to perform the following:
systemctl start sync_gateway
This fails with the error Failed to connect to bus: No such file or directory
Which then stops my whole build.

I've read this discussion of a similar failute (systemctl giving the same error in a docker container). However, that relates to the error when running the docker container, not when building the image.

The official Dockerfile for sync_gateway uses centos and that works. However, I want to use ubuntu as I want to run my app and sync_gateway in the same container (actually using phusion/baseimage:0.9.22 as a base, which is a slightly modified ubuntu image. Outside of docker, sync gateway works fine on Ubuntu.

What is the reason that the sync_gateway Dockerfile uses centos rather than ubuntu (the Couchbase Server Dockerfile uses ubuntu)? Is it because there is a known problem with the sync_gateway debian package in docker? Can anyone please help with this?

FYI, I've also posted this query in the Docker forums as I'm not sure if this is a sync_gateway or Docker issue.

Thanks,
Giles

Couchbase process appears to ignore SIGTERM signal

In a Kubernetes StatefulSet scale down, I've defined a gracefulTermination period and a preStop hook to remove the node and rebalance. The remove/rebalance works well, but the pod doesn't terminate immediately and must wait the full grace period. Based on this bug: kubernetes/kubernetes#24695 (see last two comments) I'm wondering if the SIGTERM is being honored by Couchbase?

Server image fails to run

Steps to reproduce

  1. docker run -d -v ~/couchbase:/opt/couchbase/var -p 8091:8091 couchbase/server

Example

$ docker run -d -v ~/couchbase:/opt/couchbase/var -p 8091:8091 couchbase/server                                                               
Unable to find image 'couchbase/server:latest' locally
latest: Pulling from couchbase/server
ba2b457ecfb2: Pull complete
26180b0fe8fb: Pull complete
edd7c1974a70: Pull complete
57bca5139a13: Pull complete
0cf7eebde823: Pull complete
14a01c3766b5: Pull complete
db1c2947120d: Pull complete
00c1ea53d2dc: Pull complete
76b368b244f2: Pull complete
3a329ab4106c: Pull complete
135432843cbb: Pull complete
02f5fe1f230c: Pull complete
be615b4368c8: Pull complete
e1924c352a9e: Pull complete
6d53b28ea253: Pull complete
Digest: sha256:65a0c1467d5a132b9f0c3a1ffe664ea66172ab8602f23df8b5833bf4929b2192
Status: Downloaded newer image for couchbase/server:latest
95bff3b9294cb3d26100a916ad06b4bb50cfcc6a3476f7081d6bb9c47b4e8cd5
$ docker logs 95bff3b9294cb3d26100a916ad06b4bb50cfcc6a3476f7081d6bb9c47b4e8cd5
Starting Couchbase Server -- Web UI available at http://<ip>:8091
{"init terminating in do_boot",{{badmatch,{error,{bad_return,{{ns_babysitter,start,[normal,[]]},{'EXIT',{{worker_died,<0.71.0>,{badmatch,{error,eacces}}},{gen_server,call,['sink-babysitter_sink',{log,<<184 bytes>>},infinity]}}}}}}},[{init,start_it,1,[]},{init,start_em,1,[]}]}}
init terminating in do_boot ()
$ docker images                                                                                                                               
REPOSITORY                  TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
couchbase/server            latest              6d53b28ea253        5 days ago          803.8 MB
$ docker --version
Docker version 1.8.1, build d12ea79

Syslog Errors: Apparmor Denied sigar_port

Hi,

I'm running a single instance of couchbase community 3.0.1 on Ubuntu 14.04 (virtualbox) with the official docker image.

Seems to work OK and I have a custom bucket running on port 11212.

I am seeing non stop syslog messages though:

Aug 20 08:43:07 vbox kernel: [ 1329.103657] type=1400 audit(1440060187.486:16258): apparmor="DENIED" operation="ptrace" profile="docker-default" pid=11461 comm="sigar_port" requested_mask="trace" denied_mask="trace" peer="docker-default"

My docker run command is:

sudo docker run --rm --name couchbase -p 8091:8091 -p 11210:11210 -p 11212:11212 couchbase:community-3.0.1

Web admin works OK, my client code can connect and read/write OK (port 11212).

The syslog message are on the host machine.

Should I be using a different run command?

Thanks.

Enable stdio logging

As mentioned in #2 (comment), the logging situation could be improved a bit.

From MB-15028, the suggest command is:

/opt/couchbase/bin/couchbase-server -- -noinput -ns_server dont_suppress_stderr_logger true

Agenda from Couchbase for being "Cloud Native"

The more I work with Couchbase CE, the more I wonder if this is actually meant to be used with containers in a cloud setup. Two major problems occur:

  • the entrypoint does not initialize clusters automatically but requires manual interaction, the official guide even states to use the web dashboard to fulfil this task (#59 #73 #27)
  • Couchbase stores the IP addresses of hosts, which limits the benefits clouds and containers provide, it won't be possible to schedule couchbase containers with orchestrators like docker-compose, rancher or kubernetes since the IPs may change (#7 #82)

In order to plan our projects with or without Couchbase: what's on the agenda here from couchbase side? Are there any features missing in the CE version which are part of EE version only? My PR is still pending since months, Ticket #7 is open more than 2 years, is Couchbase even interested in moving towards being cloud native?

Thank you for your support.

Unable to start couchbase when running container with a non user

HI,
I'm getting the following status when tryi,g to run couchbase container with a non root user:

runsvdir -P /etc/service log: -server: fatal: unable to open supervise/lock: file does not exist runsv couchbase-server: fatal: unable to open supervise/lock: fi

I know the entrypoint must be called using a root user, but we have a constraint not running container as a root user.
Is there any way/workaround for this?
Thanks

json: cannot unmarshal array into Go value of type string

When I run docker-compose up i get the followin error

Unable to connect to Couchbase Server (connection refused). Please ensure it is running and reachable at the configured host and port. Detailed error: json: cannot unmarshal array into Go value of type string -- rest.RunServer() at config.go:758

docker-compose version 1.16.1, build 6d1ac21
Docker version 17.06.2-ce, build cec0b72

Any ideas?

Docker Hub instructions cause confusion RE: image name

Docs are shown here: https://hub.docker.com/r/couchbase/sync-gateway/

From these docs this section caused customer confusion:

docker run -p 4984:4984 -d couchbase-sync-gateway <<reported to NOT work
NOTE: until the official docker image is approved, use the staging repository via:

$ docker run -p 4984:4984 -d couchbase/sync-gateway << This works
At this point you should be able to run a curl request against the running Sync Gateway on the port 4984 public port:

How to create bucket during build of the container?

Hi,
is it possible to configure couchbase inside a container?
I have docker-compose.yml with definition of our cloud (several apps in java, redis, dynamodb, ...).
I would need to configure couchbase db during build of the container because application in another container requires it configured to run.

I have tried to put inside my dockerfile something like this:
FROM couchbase/server:latest
RUN /opt/couchbase/bin/couchbase-cli bucket-create -c localhost -u Administrator -p administrator --bucket=default --bucket-type=couchbase --bucket-ramsize=128 --bucket-replica=1 --wait

But whatewer host i put into -c parameter (localhost, container IP, container ID), I always get [Errno 111] Connection refused. I tried to restart couchbase service before this command and sleep for 10 seconds but nothing helps.

I know that I can use docker exec from outside the container to create bucket (that works fine for me), but I would really like to run whole cloud by just "docker-compose up" command.

Am I missing something? Is there a way how to make this work?

4.0.0-4051 Community Edition (build-4051) View Bad Match Error

Hi

I'm using the 4.0.0-4051 Community Edition (build-4051) image and I'm using the -v option when starting to map /var to a local folder on the host machine. Basically all of my views fail with the following:

from:
http://172.17.0.2:8092/Fixtures/_design/dev_whoscored/_view/test?stale=false&inclusive_end=true&connection_timeout=60000&limit=10&skip=0
reason:
{badmatch,{error,etxtbsy}} ([{couch_set_view_group,handle_info,2, [{file,"/home/couchbase/jenkins/workspace/sherlock-unix/couchdb/src/couch_set_view/src/couch_set_view_group.erl"}, {line,1168}]}, {gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,604}]}, {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}])

I can view documents via the Documents button, but the views consistently fail.

Thanks in advance

Darren

Unexpected error in Couchbase Server logs

Steps to repro:

  • Spin up AWS AMI with centos7
  • Install latest docker version as of today
  • Run docker run --net=couchbase -d --name couchbase-server -p 8091-8094:8091-8094 -p 11210:11210 couchbase
  • View docker logs
[centos@ip-172-31-11-161 ~]$ docker logs ba16
Starting Couchbase Server -- Web UI available at http://<ip>:8091
{error_logger,{{2016,8,5},{5,12,30}},"global_trace:~n~p",[{loop_the_locker,{multi,[],[],[],'nonode@nohost',false,false}}]}

What is the {error_logger,{{2016,8,5},{5,12,30}},"global_trace:~n~p",[{loop_the_locker,{multi,[],[],[],'nonode@nohost',false,false}}]} message about?

Official image isn't runable on Openshift

Hi,

I try to deploy couchbase on Openshift but it looks like the image run as couchbase user. But Openshift, because of security reason, runs a container using a arbitrary user in root group [0]. In the end the server can't run because all the folder belongs to couchbase user and couchbase group.

One way to solve the problem is in [1], which grants permission to run container as the user define in Dockerfile but there are some security concern to that.
The other option is follow the guideline in [0], allow root group to access and run all the file.

In the end i can run couchbase image in Openshift by grant permission to root group and remove chown couchbase:couchbase in run script.

So i would like to suggest if we can change Dockerfile and run script to be able to run directly on Openshift.

Thanks.

[0]: https://docs.openshift.com/container-platform/3.5/creating_images/guidelines.html, section Support Arbitrary User IDs
[1]: https://docs.openshift.com/container-platform/3.3/admin_guide/manage_scc.html#enable-images-to-run-with-user-in-the-dockerfile

Any plans to provide Alpine image?

Reason

  • lightweight: 3.97MB (alpine:3.6) VS 122MB (ubuntu:16.04) VS 197MB (centos:7)
  • community shift towards Alpine images: Docker team moved officially from Ubuntu to Alpine in 2016, and many others have followed since.

how to create a default bucket?

i add create bucket command under running this docker, but not work;
`docker run -d -p 8091:8091 $COUCHBASE

/opt/couchbase/bin/couchbase-cli bucket-create -c 127.0.0.1:8091 -u Administrator -p password
--bucket=test_bucket
--bucket-type=couchbase
--bucket-port=11222
--bucket-ramsize=200
--bucket-replica=1
`
anyone know how to handle it?

Cannot run community server

I'm a Docker and Couchbase newbie, so I'll preface this by saying I might be doing something totally wrong, but according to the guide, I ran:

docker run -d -v ~/couchbase:/opt/couchbase/var -p 8091:8091 couchbase/server

Then tried to load localhost:8091, and... connection refused. The log shows:

Starting Couchbase Server -- Web UI available at http://<ip>:8091

I'm on OS X, running Docker 1.8.3.

Volumes not re-usable

From Patrick @ Docker:

Steps to reproduce

  1. Mount a volume to couch and follow manual instructions
  2. Run the app
  3. Reuse the volume in a different container

it is not enough to make the app work. Lack of idempotency.

The demo should create a volume that after initialization is ready to go on another instance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.