pull/420/head
midoks 2 years ago
parent f5859626a9
commit 637da92834
  1. 63
      plugins/docker/index.py
  2. 87
      plugins/docker/js/docker.js

@ -54,7 +54,7 @@ def getInitDTpl():
def getArgs():
args = sys.argv[3:]
args = sys.argv[2:]
tmp = {}
args_len = len(args)
@ -73,6 +73,14 @@ def getArgs():
return tmp
def checkArgs(self, data, ck=[]):
for i in range(len(ck)):
print(data[i])
if not ck[i] in data:
return (False, mw.returnJson(False, '参数:(' + ck[i] + ')没有!'))
return (True, mw.returnJson(True, 'ok'))
def status():
data = mw.execShell(
"ps -ef|grep docker |grep -v grep | grep -v python | grep -v mdserver-web | awk '{print $2}'")
@ -209,10 +217,20 @@ def imageList():
return imageList
# 登陆验证
def imageListData():
try:
ilist = imageList()
except Exception as e:
return mw.returnJson(False, '未开启Docker')
return mw.returnJson(True, 'ok', ilist)
def dockerLoginCheck(user_name, user_pass, registry):
login_test = mw.execShell('docker login -u=%s -p %s %s' %
(user_name, user_pass, registry))
# 登陆验证
cmd = 'docker login -u=%s -p %s %s' % (user_name, user_pass, registry)
# print(cmd)
login_test = mw.execShell(cmd)
# print(login_test)
ret = 'required$|Error'
ret2 = re.findall(ret, login_test[-1])
if len(ret2) == 0:
@ -221,12 +239,35 @@ def dockerLoginCheck(user_name, user_pass, registry):
return False
def imageListData():
try:
ilist = imageList()
except Exception as e:
return mw.returnJson(False, '未开启Docker')
return mw.returnJson(True, 'ok', ilist)
def dockerLogin():
args = getArgs()
# print(args)
data = checkArgs(args, ['user', 'passwd', 'hub_name',
'namespace', 'registry', 'repository_name'])
if not data[0]:
return data[1]
user_name = args['user']
user_pass = args['passwd']
registry = args['registry']
hub_name = args['hub_name']
namespace = args['namespace']
repository_name = args['repository_name']
ret_status = dockerLoginCheck(user_name, user_pass, registry)
path = getServerDir()
if ret_status:
ret = {}
ret['user_name'] = user_name
ret['user_pass'] = user_pass
ret['registry'] = registry
ret['hub_name'] = hub_name
ret['namespace'] = namespace
ret['repository_name'] = repository_name
mw.writeFile(path + '/user.json', json.dumps(ret))
return mw.returnJson(True, '成功登录!')
return mw.returnJson(False, '登录失败!')
def runLog():
@ -259,5 +300,7 @@ if __name__ == "__main__":
print(conListData())
elif func == 'image_list':
print(imageListData())
elif func == 'docker_login':
print(dockerLogin())
else:
print('error')

@ -172,11 +172,6 @@ function dockerImageList(){
}
function loginDockerImages(obj){
console.log(obj);
}
// login
function repoLogin(){
var _option1= "";
@ -186,7 +181,7 @@ function repoLogin(){
}
var layer_index = layer.open({
type: 1,
title: "Login to Repository",
title: "登录到存储库",
area: '450px',
closeBtn: 2,
shadeClose: false,
@ -204,48 +199,50 @@ function repoLogin(){
'</div>'+
'</div>',
success:function(){
setTimeout(function(){
$('[name="dtype"]').change(function(e){
var docker_type = $(this).val();
if(docker_type == 'Other Repository'){
$('.docker_content .line').show();
}else{
$('.docker_content .line').filter(":lt(3)").show().end().filter(":gt(4)").hide();
}
});
$('.login_aliyun').click(function(){
var user = $('[name="user"]').val(),
passwd = $('[name="passwd"]').val(),
registry = $('[name="registry"]').val(),
name = $('[name="ctm_name"]').val(),
hub_name = $('[name="hub_name"]').val(),
namespace = $('[name="namespace"]').val();
if($('[name="dtype"]').val() == 'Docker Repository'){
loginDockerImages({
user:user,
passwd:passwd,
registry:'',
repository_name:name,
hub_name:hub_name,
namespace:namespace
});
}else{
loginDockerImages({
user:user,
passwd:passwd,
registry:registry,
repository_name:name,
hub_name:hub_name,
namespace:namespace
});
}
$('[name="dtype"]').change(function(e){
var docker_type = $(this).val();
if(docker_type == 'Other Repository'){
$('.docker_content .line').show();
}else{
$('.docker_content .line').filter(":lt(3)").show().end().filter(":gt(4)").hide();
}
});
$('.login_aliyun').click(function(){
var user = $('[name="user"]').val(),
passwd = $('[name="passwd"]').val(),
registry = $('[name="registry"]').val(),
name = $('[name="ctm_name"]').val(),
hub_name = $('[name="hub_name"]').val(),
namespace = $('[name="namespace"]').val();
var args = {
user:user,
passwd:passwd,
registry:'',
repository_name:name,
hub_name:hub_name,
namespace:namespace
};
if($('[name="dtype"]').val() == 'Docker Repository'){
args.registry = '';
}else{
args.registry = registry;
}
console.log(obj);
dPost('docker_login', '', args, function(rdata){
var rdata = $.parseJSON(rdata.data);
console.log(rdata);
layer.msg(rdata.msg,{icon:rdata.status?1:2});
// if(res.status){
// docker.get_repository_list();
// // docker.get_login_stuats();
// }
});
},500);
});
}
});
}

Loading…
Cancel
Save