github.com/adnan-c/fabric_e2e_couchdb@v0.6.1-preview.0.20170228180935-21ce6b23cf91/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 `# map database dir to a host dir` \ 38 klaemo/couchdb:2.0.0 39 ;; 40 esac 41 ;; 42 "stop") 43 echo "Stopping couchdb container..." 44 docker stop couchdb 45 ;; 46 "status" | *) 47 docker ps --all --filter name=couchdb --format "{{.Status}}" 48 ;; 49 esac