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

  • 我想检查docker服务是否正在运行。
    • 如果它正在运行,我想删除该服务,并创build一个新的
    • 我正在用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} 

如果语句行上出现错误。

如果服务正在运行,我触发这个shell脚本一切运行良好,但如果服务没有运行,我触发这个shell脚本我面临上述提到的错误。