Example #1
0
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'))
Example #2
0
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'))