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×tamps=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, })
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, })
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, })
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, })
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")})
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, })
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})
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})
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, })
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, })
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, })
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, })
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, })
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, })
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, })
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, })
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, })
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, })
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, })