def getServicePort(image_name):
logging.info('Starting a new services with image %s', image_name)
try:
image = registry+'/'+image_name
com_cre_ser = 'docker service create --replicas 1 --publish ' + ':9090 ' + image
service_ps = os.popen(com_cre_ser).read().split('\n')
service_id = service_ps[0]
time.sleep(5)
ser_ins = "docker service inspect " + service_id
ser_ins_ = json.loads(os.popen(ser_ins).read())
port=ser_ins_[0]["Endpoint"]["Ports"][0]["PublishedPort"]
get_node = models.ServerIP.query.first()
ip = get_node.serverip
except Exception, e:
logging.error('Unable to create the service with image %s. \nReason: %s', image_name, str(e))
return
logging.info('Store the service infomation to the db')
try:
imageinfo = models.Image.query.filter_by(imagename = image_name).first()
uploadn = imageinfo.uploadname
usern = imageinfo.uploaduser
service_record = Service(serviceid = service_id, createdtime = str(time.time()), imagename = image_name, uploadname = uploadn, username = usern, firstcreatetime = datetime.now())
db.session.add(service_record)
db.session.commit()
except Exception, e:
logging.error('Failed to store the service info to the db. \nReason: %s', str(e))
return
return ip+':'+str(port)+" "+service_id
评论列表
文章目录