def image_build(request): user = request.user registry_node = models.Node.objects.get(node_type="registory") try: if request.method == 'POST': data = '' dockerfile = request.POST.get('dockerfile').encode("utf-8") # datapath = os.getcwd() + '/auto_docker/views/dockerfile1' # f = open(datapath,'r+') # data=f.write(dockerfile) # f.close() # print dockerfile # print type(dockerfile) image_name = request.POST.get('image_name').encode("utf-8") tag = "%s:5000/%s" % (registry_node.node_ip,image_name) # print tag docker_cli = DockerApi(registry_node.node_ip) # print docker_cli.build(dockerfile,tag) # print "+++++++++++++++++++++++++++++" # print docker_cli.push(tag) for i in docker_cli.build(dockerfile,tag): data = data + i data +="Push image: %s \n\n" % tag for i in docker_cli.push(tag): data = data + i pull_images() Refresh_image() return render_to_response('docker/buildresult.html',{'user':user,'data':data}) else: return render_to_response('docker/buildimage.html',{'user':user}) except: print traceback.format_exc() return HttpResponseRedirect(reverse('listimageurl'))
def image_commit(request, id): user = request.user container = models.Containers.objects.get(id=int(id)) registry_node = models.Node.objects.get(node_type="registory") try: if request.method == 'POST' and request.POST.get('image_name'): image_name = request.POST.get('image_name').encode("utf-8") repository = "%s:5000/%s" % (registry_node.node_ip, image_name) # print image_name if container: docker_cli = DockerApi(container.node.node_ip) docker_cli.commit(container.container_name, repository) docker_cli.push(repository) pull_images() Refresh_image() return HttpResponseRedirect(reverse('listimageurl')) except: print traceback.format_exc() return HttpResponseRedirect(reverse('listimageurl'))
def image_commit(request,id): user = request.user container = models.Containers.objects.get(id=int(id)) registry_node = models.Node.objects.get(node_type="registory") try: if request.method == 'POST' and request.POST.get('image_name'): image_name = request.POST.get('image_name').encode("utf-8") repository = "%s:5000/%s" % (registry_node.node_ip,image_name) # print image_name if container: docker_cli = DockerApi(container.node.node_ip) docker_cli.commit(container.container_name,repository) docker_cli.push(repository) pull_images() Refresh_image() return HttpResponseRedirect(reverse('listimageurl')) except: print traceback.format_exc() return HttpResponseRedirect(reverse('listimageurl'))
def image_build(request): user = request.user registry_node = models.Node.objects.get(node_type="registory") try: if request.method == 'POST': data = '' dockerfile = request.POST.get('dockerfile').encode("utf-8") # datapath = os.getcwd() + '/auto_docker/views/dockerfile1' # f = open(datapath,'r+') # data=f.write(dockerfile) # f.close() # print dockerfile # print type(dockerfile) image_name = request.POST.get('image_name').encode("utf-8") tag = "%s:5000/%s" % (registry_node.node_ip, image_name) # print tag docker_cli = DockerApi(registry_node.node_ip) # print docker_cli.build(dockerfile,tag) # print "+++++++++++++++++++++++++++++" # print docker_cli.push(tag) for i in docker_cli.build(dockerfile, tag): data = data + i data += "Push image: %s \n\n" % tag for i in docker_cli.push(tag): data = data + i pull_images() Refresh_image() return render_to_response('docker/buildresult.html', { 'user': user, 'data': data }) else: return render_to_response('docker/buildimage.html', {'user': user}) except: print traceback.format_exc() return HttpResponseRedirect(reverse('listimageurl'))