From 0a60d667328dac0f0fdbe1c914fa602aa0f00ec2 Mon Sep 17 00:00:00 2001 From: midoks Date: Sat, 1 Jul 2023 14:46:22 +0800 Subject: [PATCH] update --- plugins/docker/index.py | 23 ++++++++++ plugins/docker/info.json | 1 + plugins/docker/js/docker.js | 84 ++++++++++++++++++++++++------------- plugins/mysql/js/mysql.js | 2 +- 4 files changed, 81 insertions(+), 29 deletions(-) diff --git a/plugins/docker/index.py b/plugins/docker/index.py index 236ae60eb..afb9f0386 100755 --- a/plugins/docker/index.py +++ b/plugins/docker/index.py @@ -226,6 +226,27 @@ def imageListData(): return mw.returnJson(True, 'ok', ilist) +def dockerRemoveImage(): + args = getArgs() + data = checkArgs(args, ['imageId', 'repoTags']) + if not data[0]: + return data[1] + + repoTags = args['repoTags'] + imageId = args['imageId'] + + c = getDClient() + try: + c.images.remove(repoTags) + return mw.returnJson(True, '成功删除') + except: + try: + c.images.remove(imageId) + return mw.returnJson(True, '成功删除!') + except docker.errors.APIError as ex: + return mw.returnJson(False, '删除失败, 当前镜像正在使用!') + + def dockerLoginCheck(user_name, user_pass, registry): # 登陆验证 cmd = 'docker login -u=%s -p %s %s' % (user_name, user_pass, registry) @@ -359,6 +380,8 @@ if __name__ == "__main__": print(conListData()) elif func == 'image_list': print(imageListData()) + elif func == 'docker_remove_image': + print(dockerRemoveImage()) elif func == 'docker_login': print(dockerLogin()) elif func == 'docker_logout': diff --git a/plugins/docker/info.json b/plugins/docker/info.json index 9ba8ca0fd..26949af08 100755 --- a/plugins/docker/info.json +++ b/plugins/docker/info.json @@ -13,6 +13,7 @@ "author": "Zend", "date": "2017-04-01", "home": "https://docker.io", + "doc1":"https://docker-py.readthedocs.io/", "type": 0, "pid": "2" } \ No newline at end of file diff --git a/plugins/docker/js/docker.js b/plugins/docker/js/docker.js index 461c00742..d60fb3a31 100755 --- a/plugins/docker/js/docker.js +++ b/plugins/docker/js/docker.js @@ -97,13 +97,18 @@ function dockerConList(){ status = ''; } + var op = ''; + op += '终端 | '; + op += '日志 | '; + op += '删除'; + list += ''; list += ''+rlist[i]['Name'].substring(1)+''; list += ''+rlist[i]['Config']['Image']+''; - list += ''+rlist[i]['Created']+''; + list += ''+getFormatTime(rlist[i]['Created'])+''; list += ''+status+''; - list += ''+'操作'+''; + list += ''+op+''; list += ''; } @@ -112,29 +117,25 @@ function dockerConList(){ } -function dockerImageList(){ - - var con = '
\ - \ -
\ -
\ - \ - \ - \ - \ - \ - \ - \ - \ - \ - ' + '
名称版本大小证书描述操作
\ -
\ -
\ -
\ -
'; +function deleteImages(tag, id){ + safeMessage('删除镜像','删除镜像['+tag+'],确定?',function(){ + dPost('docker_remove_image','', {imageId:id,repoTags:tag},function(rdata){ + var rdata = $.parseJSON(rdata.data); + showMsg(rdata.msg,function(){ + if(rdata.status) { + dockerImageListRender(); + } + },{ icon: rdata.status ? 1 : 2 }); + }); + }); +} - $(".soft-man-con").html(con); +function pullImages(tag, id){ + console.log(tag, id); + layer.msg('开发中!',{ icon: 2 }); +} +function dockerImageListRender(){ dPost('image_list', '', {}, function(rdata){ var rdata = $.parseJSON(rdata.data); console.log(rdata); @@ -152,24 +153,51 @@ function dockerImageList(){ var license = 'null'; var desc = 'null'; - - if (typeof(rlist[i]['Labels']) == 'null'){ + if (rlist[i]['Labels'] == null){ license = 'free'; } + var op = ''; + op += '拉取 | '; + op += '删除'; + list += ''; list += ''+rlist[i]['RepoTags']+''; list += ''+tag+''; list += ''+toSize(rlist[i]['Size'])+''; list += ''+license+''; list += ''+desc+''; - list += ''+'操作'+''; + list += ''+op+''; list += ''; } $('#con_list tbody').html(list); }); - +} + +function dockerImageList(){ + + var con = '
\ + \ +
\ +
\ + \ + \ + \ + \ + \ + \ + \ + \ +
名称版本大小证书描述操作
\ +
\ +
\ +
\ +
'; + + $(".soft-man-con").html(con); + + dockerImageListRender(); } // login @@ -281,7 +309,7 @@ function repoListRender(){ list += ''+rlist[i]['repository_name']+''; list += ''+rlist[i]['namespace']+''; list += ''+rlist[i]['registry']+''; - list += '删除'; + list += '删除'; list += ''; } diff --git a/plugins/mysql/js/mysql.js b/plugins/mysql/js/mysql.js index 89bc6e796..3db0fb818 100755 --- a/plugins/mysql/js/mysql.js +++ b/plugins/mysql/js/mysql.js @@ -181,7 +181,7 @@ function changeMySQLDataPath(act) { $.post('/database?action=GetMySQLInfo', '', function(rdata) { var LimitCon = '

\ \ - \ + \

'; $(".soft-man-con").html(LimitCon); });