[Unit] Description=Couchbase Service %i Requires=flanneld.service After=flanneld.service [Service] TimeoutSec=0 Restart=always RestartSec=20 ExecStartPre=-/usr/bin/docker kill couchbase-%i ExecStartPre=-/usr/bin/docker rm -f couchbase-%i ExecStartPre=/usr/bin/docker pull couchbase:community-4.0.0 ExecStart=/usr/bin/docker run \ --rm \ -p 8091:8091 \ --name couchbase-%i \ --ulimit nofile=40960:40960 \ couchbase:community-4.0.0 ExecStartPost=/usr/bin/bash -c 'sleep 5; \ FLANNELIP=`docker inspect couchbase-%i | jq -r .[].NetworkSettings.IPAddress`; \ echo "Started on $FLANNELIP"; sleep 2; \ until docker run --rm couchbase:community-4.0.0 \ couchbase-cli \ cluster-init \ -c $FLANNELIP:8091 \ --cluster-username=Administrator \ --cluster-password=Password1 \ --services=data,index,query \ --cluster-ramsize=500; \ do echo "Retrying init..."; sleep 2; done; \ docker run --rm couchbase:community-4.0.0 \ couchbase-cli \ bucket-create \ -c $FLANNELIP:8091 \ -u Administrator \ -p Password1 \ --bucket=default \ --bucket-type=couchbase \ --bucket-ramsize=500 \ --bucket-replica=1 \ --cluster-ramsize=500' ExecStop=/usr/bin/docker kill --signal=SIGTERM couchbase-%i