def image_add(request): """ 进入image_add页面 """ imageip="0.0.0.0" hostList = Docker_host.objects.all() containerlist=docker_ps(imageip) return render(request, 'image_add.html',{'hostList':hostList,'containerlist':containerlist,'imageip':imageip})
def container_add(request): """ 增加容器页面 """ containerip = "0.0.0.0" hostList = Docker_host.objects.all() containerlist=docker_ps(containerip) return render(request, 'container_add.html',{'hostList':hostList,'containerlist':containerlist,'containerip':containerip})
def container_newtable(request): """ 容器信息页面 """ conip=request.POST.get('ip', '') containerlist = docker_ps(conip) rst = [] for container in containerlist: rst.append({ "id": container.id, "con_port": container.con_port, "name": container.name, "created": container.created, "status": container.status, "image": container.image, "command": container.command, }) return HttpResponse(json.dumps(rst))
def image_commit(request): """ 基于容器创建镜像 """ ip = request.POST.get('ip', '') container = request.POST.get('container', '') reponame = request.POST.get('reponame', '') tag = request.POST.get('tag', '') list = docker_ps(ip) for con in list: if con.name == container: id = con.id if (tag == "" and reponame): tag = "latest" docker_commit(ip=ip, id=id, reponame=reponame, tag=tag) message = "镜像" + reponame + "已生成" rst = {"message": message} print(rst) return HttpResponse(json.dumps(rst))
def image_del(request): """ 删除镜像 """ ip=request.POST.get('ip', '') idlist=request.POST.getlist('idlist', '') repositorylist = request.POST.getlist('repositorylist', '') list=docker_ps(ip) flag=0 for repository in repositorylist: for con in list: if repository == con.image: # 首先判断是否存在在使用镜像的容器,存在则提示先删除容器 flag=1 if flag == 1: message = "存在正在使用的容器,请先删除该容器" else: # 若选择的所有镜像都没有使用容器的,则进行删除 docker_rmi(ip=ip,idlist=idlist) message = repositorylist[0]+"等镜像已删除" rst = {'message': message} return HttpResponse(json.dumps(rst))