def containers_action(request): containers_id=request.POST.get('containers_id') action=request.POST.get('action') try: if action == "remove_container": docker_api_del('/containers/' + containers_id, json.dumps({})) else: res_data=docker_api('/containers/%s/%s' % (containers_id, action), {}) except Exception as error: return HttpResponse(str(error)) return HttpResponse("ok")
def containers_action(request): containers_id = request.POST.get('containers_id') action = request.POST.get('action') queryset = containers.objects.get(containers_id=containers_id) code = { '204': '操作成功!', '304': '容器已经启动.', '404': '找不到这个容器,或者从来没有启动过.', '500 ': 'server error', } try: if action == "remove_container": docker_api_del('/containers/' + containers_id + '?force=1', json.dumps({}), host=queryset.host) containers.objects.filter(containers_id=containers_id).delete() else: res_data = docker_api('/containers/%s/%s' % (containers_id, action), {}, host=queryset.host) except Exception as error: status_re = re.search('(\d+)', str(error)) if status_re: status_value = status_re.group(1) if code.has_key(status_value): if status_value == '304': containers.objects.filter( containers_id=containers_id).update(status=action) return HttpResponse('ok') if status_value == '404': res_error = json.loads( docker_api_get('/containers/%s/json' % containers_id, host=queryset.host)) if res_error['State']['Error']: return HttpResponse(res_error['State']['Error']) else: return HttpResponse(code['404']) return HttpResponse(code[status_value]) return HttpResponse(str(error)) if action in ['start', 'stop']: containers.objects.filter(containers_id=containers_id).update( status=action) return HttpResponse("ok")
def containers_action(request): containers_id=request.POST.get('containers_id') action=request.POST.get('action') queryset=containers.objects.get(containers_id=containers_id) code={ '204':'操作成功!', '304':'容器已经启动.', '404':'找不到这个容器,或者从来没有启动过.', '500 ':'server error', } try: if action == "remove_container": docker_api_del('/containers/' + containers_id + '?force=1', json.dumps({}), host=queryset.host) containers.objects.filter(containers_id=containers_id).delete() else: res_data=docker_api('/containers/%s/%s' % (containers_id, action), {}, host=queryset.host) except Exception as error: status_re=re.search('(\d+)', str(error)) if status_re: status_value=status_re.group(1) if code.has_key(status_value): if status_value == '304': containers.objects.filter(containers_id=containers_id).update(status=action) return HttpResponse('ok') if status_value == '404': res_error=json.loads(docker_api_get('/containers/%s/json' % containers_id, host=queryset.host)) if res_error['State']['Error']: return HttpResponse(res_error['State']['Error']) else: return HttpResponse(code['404']) return HttpResponse(code[status_value]) return HttpResponse(str(error)) if action in ['start', 'stop']: containers.objects.filter(containers_id=containers_id).update(status=action) return HttpResponse("ok")