def container_start(request, container): server = __default_server(request) url = 'http://%s:%d%s' % ( server.ip, server.port, docker_api.CONTAINER_START % (container) ) CommonRequest.post(url) return HttpResponseRedirect('/containers')
def image_delete(request, image): server = __default_server(request) url = 'http://%s:%d%s' % ( server.ip, server.port, docker_api.IMAGES_DELETE % (image) ) CommonRequest.delete(url=url) time.sleep(1) return HttpResponseRedirect('/images')
def container_delete(request, container): server = __default_server(request) url = 'http://%s:%d%s' % ( server.ip, server.port, docker_api.CONTAINER_DELETE % (container) ) CommonRequest.delete(url=url) time.sleep(1) return HttpResponseRedirect('/containers')
def pull_request(): url = 'http://%s:%d%s' % ( server.ip, server.port, docker_api.IMAGES_PULL % (image) ) CommonRequest.post( url, headers={'Content-type': 'application/json'}, timeout=60 * 30 )
def container_restart(request, container): server = __default_server(request) url = 'http://%s:%d%s' % ( server.ip, server.port, docker_api.CONTAINER_RESTART % (container) ) CommonRequest.post( url=url, headers={'Content-type': 'application/json'}, ) time.sleep(1) return HttpResponseRedirect('/containers')
def container_create(request, image): server = __default_server(request) url = 'http://%s:%d%s' % ( server.ip, server.port, docker_api.CONTAINER_CREATE ) CommonRequest.post( url=url, headers={'Content-type': 'application/json'}, json=funcs.container_config(image) ) return HttpResponseRedirect('/containers')
def __get_images(request): server = __default_server(request) if server: url = 'http://%s:%d%s' % (server.ip, server.port, docker_api.IMAGES_LIST) code, headers, body = CommonRequest.get(url) return body if code == 200 else [] return []
def __get_container_all(request): """ 200 – no error 400 – bad parameter 500 – server error :return: """ server = __default_server(request) if server: url = 'http://%s:%d%s' % (server.ip, server.port, docker_api.CONTAINER_ALL) code, headers, body = CommonRequest.get(url) return body if code == 200 else [] return []
def container_create_custom(request): """ Status Codes: 201 – no error :param request: :return: """ server = __default_server(request) url = 'http://%s:%d%s' % ( server.ip, server.port, docker_api.CONTAINER_CREATE ) code, headers, body = CommonRequest.post( url=url, headers={'Content-type': 'application/json'}, json=funcs.container_config_custom(request) ) if code == 201: return JsonResponse({'status': 200, 'msg': '创建成功!', 'request': '/containers'}) else: return JsonResponse({'status': -1, 'msg': body})