How do you explain the usefulness of a docker container to a non-tech CEO like Steve Jobs?
There are four things that (GENERALLY) work for folks like this You want your developers to move faster to meet your customer needs - containers greatly speed development because where they build matches the way things look in production You want to get the most performance for your $ - containers let you run at much greater efficiency (334x instant payback on your workloads is not umon - think about tripling the size of your datacenter for free)
How do you explain a docker container to a beginner?
It's a namespace nothing more. For example in programming the main SDK for your language has class String but you need some custom class with the same name and want to differentiate between the two - you use namespaces - sort of prefix for a class name. Same with containers - you need filesystem look the same as the main one but differentiate between the two so a namespace is used. Same with the list of processes network etc. Container simply creates namespaces for all these subsystems internally since typical user would want to use them all. The docker infrastructure however is a moreplex topic but it is basically a set of tools to create containers easily.
Our CTO insisted to choose Docker Swarm, instead of Kubernetes, for a container orchestration because Docker Swarm is simpler and easier to learn. How do I convince people and explain to them the benefits of Kubernetes?
Ask him a few simple questions How do we do service routing? How do we do log aggregation? The first problem you will run into with docker swarm is service routing. Where k8s has the concept of ingress controllers basically you only have node ports in a docker swarm and need to do the service routing manually. Easy enough to be done with Traefik or HA-Proxy but then you have a chicken-egg problem How do you make those highly available? Persistent volumes are a pain in the butt with docker swarm. Aside from a few plugins most of them are abandoned ormercial or require a ratherplicated backend (Ceph is awesome but not exactly easy to set up and maintain. Ask him to get a quote from RedHat for Ceph support for extra bang for this argument if he counters with But Ceph). Log aggregation? You are pretty much on your own with docker swarm. While a setup with fluentd works quite nice it needs to be maintained as well. Last but not least backups and disaster recovery. Again you are pretty much on your own. This might work for you but it most likely is a LOT moreplex to set up and test and maintain than something like Velero s . Most CTOs who shy back from Kubernetes do so because of the learning curve. While it admittedly is steep it does not take long until you reach a plateau phase. On this plateau everything is a little bit easier than with docker swarm.
What are the differences between Docker's container and Linux's container (LXC)?
Is not really accurate to say that Docker and LXC are the same thing. In the early days of the Docker project LXC was used as its default execution driver like an interface to some kernel features like namespaces cgroups capabilities etc. This kind of dependency with LXC brought to the docker team some disgusting issues for example they were not in control of LXC development a core feature of their solution so they decided to write a new open source execution driver libcontainer. The Docker docker engine is now shipped with libcontainer and we are not forced to install or update the LXC version that matches with our current version of docker engine. In conclusion LXC is a userspace interface for the Linux kernel containment features. Through a powerful API and simple tools it lets Linux users easily create and manage system or application containers. while docker is a growing and evolving platform that provides an standard runtime environment for containers that used to use LXC. horizontal-rule
What are the popular Docker interview questions?
Are you planning for a Docker interview? Then going through these top Docker interview questions italic is a must. It a well-known fact that Docker is replacing Vms. So be prepared to answer a few questions on Docker in your next interview. This answer has a bunch of interview questions from basic to an expert level that an interviewer could ask. Let get started!! Ex the architecture of Docker Command to list down the running containers Docker ps ordered-list 1. What are the Cloud platforms that support Docker? Below are the Cloud platforms that Docker runs on Amazon Web Services Microsoft Azure Google Cloud Platform Rackspace Hope this helps!
What is Docker in specific concrete technical terms?
Let me try and ex this from the ground up Virtualization as we know it before the shared kernels arrived. The Type 1 hypervisors run directly on the host hardware. These hypervisors provide and manage resources among different running guest operating systems. Thus the guest operating systems run two levels above the hardware. Type 2 hypervisors run within the existing operating systems called host operating systems. In such hypervisors the hardware sharing is emulated within a running process. The layers look more or less like below Containers provide virtualization while sharing the same kernel and much like chroot italic try to isolate the environment for a program. They cannot access the file system environment outside their own isolated file system. Theybine the namespace italic chroot italic and cgroup italic mechanisms to provide isolation to a user. Thus the user has control over its own environment and has an illusion of owning a physical hardware machine where in fact they are sharing resources with different users. Since containers run on the same kernel each container runs only one level above the hardware. (Figure below) nNow that you know what a container is let me try and ex what a Docker container is. It is like a framework which provides easy knobs to provide a similar isolated environment as Type 1 Hypervisors but without the layers. It allows easier maintenance of such containers with the framework (I like to call it a wrapper) which is called as Docker containers. There are other containers like LXC Open-VZ. However there are claims that the Docker interface is more user friendly than others.