github.com/tenywen/fabric@v1.0.0-beta.0.20170620030522-a5b1ed380643/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