github.com/myafeier/fabric@v1.0.1-0.20170722181825-3a4b1f2bce86/devenv/tools/couchdb (about) 1 #!/usr/bin/env bash 2 # 3 # Copyright IBM Corp All Rights Reserved 4 # 5 # SPDX-License-Identifier: Apache-2.0 6 # 7 couchDbContainerStatus() { 8 for s in created restarting running paused exited dead ; do 9 if [ -n "$(docker ps --all --quiet --filter name=couchdb --filter status=$s)" ] ; then 10 echo $s 11 return 0 12 fi 13 done 14 } 15 16 case "$1" in 17 "start") 18 case "$(couchDbContainerStatus)" in 19 "created" ) 20 echo "Starting couchdb container..." 21 docker start couchdb 22 ;; 23 "exited" ) 24 echo "Restarting couchdb container..." 25 docker restart couchdb 26 ;; 27 "paused" ) 28 echo "Unpausing couchdb container..." 29 docker unpause couchdb 30 ;; 31 "running" ) 32 echo "couchdb container is already started" 33 docker ps --filter name=couchdb 34 ;; 35 "restarting" | "dead" | * ) 36 # if running, restarting, or dead, just let user deal with error 37 docker run \ 38 --publish 5984:5984 `# publish port` \ 39 --detach `# run as daemon` \ 40 --name couchdb `# name container` \ 41 hyperledger/fabric-couchdb 42 rc=$? 43 if [[ $rc != 0 ]] 44 then 45 echo "Run 'make couchdb' from 'fabric' directory to build fabric-couchdb docker image locally." 46 fi 47 ;; 48 esac 49 ;; 50 "stop") 51 echo "Stopping couchdb container..." 52 docker stop couchdb 53 ;; 54 "status" | *) 55 docker ps --all --filter name=couchdb --format "{{.Status}}" 56 ;; 57 esac