コード例 #1
0
def container_log(request):
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    get_id = request.json.get("container_id")

    data = {
        'api': 'docker_socks',
        'url': '/containers/%s/logs?stdout=true&timestamps=true' % (get_id),
        'method': 'GET',
        'psw': 'tttest',
    }
    # data = {
    #     "api": "docker_logs",
    #     "psw": "tttest",
    #     "args": {
    #         "container_id": get_id
    #     }
    # }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    result = list()
    if return2json.get("status") == 0:
        temp = return2json.get("data")
        result = temp.split("\r\n")

    result.reverse()
    return jsonify({
        "status": 0,
        'data': result,
    })
コード例 #2
0
def network_disconnect_container(request):
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    get_network_id = request.json.get("network_id")

    data = {
        'api': 'docker_socks',
        'url': "/networks/%s/disconnect" % (get_network_id),
        'method': "POST",
        'psw': 'tttest',
        'data': dict()
    }
    # ========获取参数=============
    # 容器id
    get_container_id = request.json.get("container_id")
    data["data"]["Container"] = get_container_id

    data["data"]["Force"] = True
    # ============================
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({
        'status': 0,
        'data': return2json,
    })
コード例 #3
0
def container_rename(request):
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    get_container_id = request.json.get("container_id")
    get_container_name = request.json.get("container_name")

    data = {
        'api':
        'docker_socks',
        'url':
        '/containers/%s/rename?name=%s' %
        (get_container_id, get_container_name),
        'method':
        "POST",
        'psw':
        'tttest',
    }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({
        'status': 0,
        'data': return2json,
    })
コード例 #4
0
def image_create_from_container(request):
    send_url = "/commit"
    # ======接收参数参数========
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    get_container_id = request.json.get("container_id")
    send_url = "%s?container=%s" % (send_url, get_container_id)

    get_image_name = request.json.get("image_name")
    send_url = "%s\\&repo=%s" % (send_url, get_image_name)

    get_version = request.json.get("version")
    send_url = "%s\\&tag=%s" % (send_url, get_version)

    print(send_url)
    # ========================

    data = {
        'api': 'docker_socks',
        'url': send_url,
        'method': "POST",
        'psw': 'tttest',
    }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({
        'status': 0,
        'data': return2json,
    })
コード例 #5
0
def server_check(request):
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    data = {
        'api': 'check_status',
        'psw': 'tttest',
    }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({'status': return2json.get("status")})
コード例 #6
0
def network_create(request):
    data = {
        'api': 'docker_socks',
        'url': "/networks/create",
        'method': "POST",
        'psw': 'tttest',
        'data': dict()
    }

    # ========获取参数=============
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    data["data"]["EnableIPv6"] = False

    # 名字
    get_network_name = request.json.get("network_name")
    data["data"]["Name"] = get_network_name

    # 网卡类型
    get_network_drive = request.json.get("network_drive")
    data["data"]["Driver"] = get_network_drive

    # 网络配置
    if get_network_drive != "none":
        data["data"]["IPAM"] = {"Config": list()}
        ipv4_config = dict()
        if request.json.get("subnet"):
            ipv4_config["Subnet"] = request.json.get("subnet")
        if request.json.get("ip_range"):
            ipv4_config["IPRange"] = request.json.get("ip_range")
        if request.json.get("gateway"):
            ipv4_config["Gateway"] = request.json.get("gateway")
        data["data"]["IPAM"]["Config"].append(ipv4_config)

    # 选项
    if request.json.get("option"):
        data["data"]["Options"] = request.json.get("option")

    # ===========================

    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({
        'status': 0,
        'data': return2json,
    })
コード例 #7
0
def server_network_info(request):
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    data = {
        'api': 'docker_socks',
        'url': '/networks?dangling=true',
        'method': "GET",
        'psw': 'tttest',
    }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({'status': 0, "data": return2json})
コード例 #8
0
def container_inpect(request):
    get_container_id = request.json.get("container_id")
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    data = {
        'api': 'docker_socks',
        'psw': 'tttest',
        'method': "GET",
        'url': '/containers/%s/json' % (get_container_id)
    }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({'status': 0, 'data': return2json})
コード例 #9
0
def image_delete_cache(request):
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    data = {
        'api': 'docker_socks',
        'url': "/build/prune",
        'method': "POST",
        'psw': 'tttest',
    }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({
        'status': 0,
        'data': return2json,
    })
コード例 #10
0
def system_use(request):
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    data = {
        'api': 'docker_socks',
        'url': "/system/df",
        'method': "GET",
        'psw': 'tttest',
    }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({
        'status': 0,
        'data': return2json,
    })
コード例 #11
0
def get_containers_info(request):
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    data = {
        'api': 'docker_socks',
        'url': '/containers/json?all=true',
        'method': 'GET',
        'psw': 'tttest',
    }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({
        "status": 0,
        'data': return2json,
    })
コード例 #12
0
def volume_delete_unused(request):
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    data = {
        'api': 'docker_socks',
        'url': '/volumes/prune',
        'method': 'POST',
        'psw': 'tttest',
    }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({
        "status": 0,
        'data': return2json,
    })
コード例 #13
0
def system_infomation(request):
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    data = {
        'api': 'docker_socks',
        'url': '/info',
        'method': 'GET',
        'psw': 'tttest',
    }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({
        "status": 0,
        'data': return2json,
    })
コード例 #14
0
def image_inspect(request):
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    get_image_id = request.json.get("image_id")

    data = {
        'api': 'docker_socks',
        'url': "/images/%s/json" % (get_image_id),
        'method': "GET",
        'psw': 'tttest',
    }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({
        'status': 0,
        'data': return2json,
    })
コード例 #15
0
def volume_inspcet(request):
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    get_volume_id = request.json.get('volume_id')

    data = {
        'api': 'docker_socks',
        'url': '/volumes/%s' % (get_volume_id),
        'method': 'GET',
        'psw': 'tttest',
    }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({
        "status": 0,
        'data': return2json,
    })
コード例 #16
0
def container_delete(request):
    get_id = request.json.get("container_id")
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    data = {
        'api': 'docker_socks',
        'url': '/containers/%s?force=true' % (get_id),
        'method': "DELETE",
        'psw': 'tttest',
    }

    return2data = send_request.send_request(get_server_type, get_server_ip,
                                            data)
    return jsonify({
        'status': 0,
        'id': get_id,
        'data': return2data,
    })
コード例 #17
0
def network_delete(request):
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    get_network_id = request.json.get("network_id")

    data = {
        'api': 'docker_socks',
        'url': "/networks/%s" % (get_network_id),
        'method': "DELETE",
        'psw': 'tttest',
    }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({
        'status': 0,
        'data': return2json,
    })
コード例 #18
0
def image_pull(request):
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    get_image_name = request.json.get("image_name")
    if ":" not in get_image_name:
        get_image_name = "%s:latest" % (get_image_name)

    data = {
        'api': 'docker_socks',
        'url': "/images/create?fromImage=%s" % (get_image_name),
        'method': "POST",
        'psw': 'tttest',
    }
    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)

    return jsonify({
        'status': 0,
        'data': return2json,
    })
コード例 #19
0
def container_add(request):
    data = {
        'api': "docker_socks",
        'url': "/containers/create",
        "method": 'POST',
        'psw': "tttest",
        'data': dict(),
    }
    # ===========get args============
    # 选择的服务器
    get_server_id = request.json.get('server_id')
    get_server = Server.query.filter_by(id=get_server_id).first()
    get_server_type = get_server.server_type
    get_server_ip = get_server.server_ip

    # 镜像
    get_image = request.json.get("image")
    if get_image:
        data["data"]["Image"] = get_image

    # 名字
    get_name = request.json.get("name")
    if get_name:
        data['url'] = "%s?name=%s" % (data['url'], get_name)

    # 端口映射
    get_connect_port = request.json.get("connect_port")
    get_export_port = request.json.get("export_port")
    if get_connect_port:
        data["data"]["HostConfig"] = {"PortBindings": get_connect_port}
        data["data"]["ExposedPorts"] = get_export_port
        # ========以下为高级设置=======
    # 启动命令
    get_cmd = request.json.get("cmd")
    if get_cmd:
        data["data"]["Cmd"] = get_cmd

    # 入口命令(代替Dockerfile)
    get_entrypoint = request.json.get("entrypoint")
    if get_entrypoint:
        data["data"]["Entrypoint"] = get_entrypoint

    # 运行使用的用户
    get_user = request.json.get("user")
    if get_user:
        data["data"]['User'] = get_user

    # 模拟终端
    get_tty = request.json.get("Tty")
    if get_tty:
        data["data"]["Tty"] = get_tty

    # 交互模式
    get_interactive = request.json.get("interactive")
    if get_interactive:
        data["data"]["OpenStdin"] = get_interactive

    # 工作目录
    get_workdir = request.json.get("workdir")
    if get_workdir:
        data["data"]["WorkingDir"] = get_workdir

    # 网络配置
    get_network_model = request.json.get("network_model")
    if get_network_model:
        data["data"]["NetworkingConfig"] = {
            "EndpointsConfig": get_network_model
        }

        # ===========================
    # ===============================

    return2json = send_request.send_request(get_server_type, get_server_ip,
                                            data)
    return jsonify({
        'status': 0,
        'data': return2json,
    })