예제 #1
0
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')
예제 #2
0
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')
예제 #3
0
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')
예제 #4
0
 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
     )
예제 #5
0
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')
예제 #6
0
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')
예제 #7
0
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 []
예제 #8
0
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 []
예제 #9
0
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})