如何使用shell脚本检查Docker服务是否已在UCP上运行

时间:2017-03-24 10:16:06

标签: bash shell docker docker-machine docker-ucp

  • 我想检查docker服务是否正在运行。
    • 如果它正在运行,我想删除该服务并创建新服务
    • 我正在使用shell脚本执行此任务

我正在提供我所面对的shell脚本的代码片段 的 Error response from daemon: service data-mapper-service not found

if [[ "$(docker service inspect ${DOCKER_SERVICE_NAME}  2> /dev/null)" != "" ]]; then
  docker service rm ${DOCKER_SERVICE_NAME}
else echo "service doesn't exist or may have been removed manually"
fi
docker service create \
    --name ${DOCKER_SERVICE_NAME} \
    --network ${OVERLAY_NETWORK} \
    --reserve-memory ${10} \
    --constraint node.labels.run_images==yes \
    --mode global \
    --with-registry-auth \
    --restart-condition any \
    -p ${EXTERNAL_PORT}:${INTERNAL_PORT} \
    -e "SPRING_PROFILES_ACTIVE="${SPRING_PROFILE} \
    -e "JAVA_OPTS: -Xms256m -Xmx512m" \
    ${DTR_HOST_NAME}/${DTR_ORG_NAME}/${DTR_REP_NAME}:${BUILD_NUMBER}

我在 if statement 行上收到错误。

如果服务正在运行并且我触发了这个shell脚本,一切运行正常,但是如果服务没有运行并且我触发了这个shell脚本,我面临上面提到的错误。

0 个答案:

没有答案