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