August 21, 2015 at 06:07 #708jeremy williamsParticipant
I am relatively new to virtualization and I would like to know the difference between docker and openVZ? What is going to be good for the future? What are the Pros and Cons?
August 21, 2015 at 06:13 #709Dennis FinleyParticipant
Well basically, docker sees a container as a service/ application while openVZ sees a container as a VPS.
What is the implication?
This means that on docker when you create containers, the container is a single application that does ONE thing only. Subsequently it might need additional containers to assist it (e.g a container that provides a database). Docker made it very easy to define what is in a container without needing to start up one then constantly create new exact equal instances of this container. The contents of a docker container (the image) may be defined by the use of lightweight templates called Dockerfiles.
There is a large amount of dockerfiles readily available in the Docker hub. Images produced by dockerfiiles can be pulled with the help of the docker CLI tool, using a pull command. Docker also offers easy access to stuff like vitual directories ( to enable access to files on host machines easily) and things alike that any executable could use and also port forwarding.
If you would want a LAMP stack in docker, all you do is “docker run -d -p 80:80 tutum/lamp”
This pulls the image tutum/lamp, and runs daemonised (-d) it with port 80 from the container forwarded to the port 80 of the host, exposing the inner webservice to the outside. As you can see, it does not have its own IP address in contrast to an OpenVZ machine. It is similar to an apache server running on your root machine. The advantage compared to installing it natively, is that docker makes the installation a lot easier and replicable without limit. Also it doesn’t clutter your host machine with lots of files, and supplies a security boundary around your application.
There’s lots of features in most docker images that are unique to it. For the tutum/lamp image, take a look here.
You can expect that when you create containers on openVZ, it is sort of like making Virtual Servers. OpenVZ contains interfaces that are focused on setting up VPS containers that you can manually decorate. They therefore provide templates for empty linux machines that you can start up and shut down, that you afterward SSH into, to set them up yourself with whatever you need, like a LAMP stack.
Setting up a LAMP stack is similar to how you would set up a new server. Once you get an empty linux machine with an Ethernet adapter with its own publicly accessible WAN IP containing Ubuntu. You may access it with SSH and install the required services using your average package manager (yum or apt). Then do the required setup in config files yourself.
You must be logged in to reply to this topic.