“There are loads of tools and software that organizations tend to use when they adopt a DevOps culture. Why should I particularly learn about Docker?” You might start thinking that when you read the title of this blog. Isn’t it?
Well, currently, 12,000 companies of the entire world are using Docker. And the revenues they are earning are huge! Want to know how much? It’s almost 10-12 Million! Can you imagine?
You can easily conclude that by seeing this huge revenue, companies who haven’t used Docker until now are thinking of using it. So if you already have knowledge about Docker, it will help you to crack your DevOps interview in a better way.
You might be again wondering, what are the Docker questions you’ll encounter in a DevOps interview?
Well, we have picked some for you. Check it out!
1. What is Docker?
Docker is a collection of PaaS software that binds your application and all its dependencies together in containers to make sure that your application works flawlessly in any environment, including development, testing, or production. Docker wraps anything that can be installed on a server as a guarantee that the software will always run the same, regardless of its environment.
2. What is a Docker Container?
Docker containers are made of the application and all of its dependencies. It shares the kernel with other containers while running as isolated processes in the host operating system’s userspace. Docker containers are not limited to some specific infrastructure. They run on every operating system, infrastructure, and cloud. Docker containers are practically the runtime instances of Docker images.
3. What are Docker Images?
Docker image is the source of the Docker container. They are the main elements that are used to create containers. When a user runs a Docker image, it creates an instance of a container. Docker images are deployable to any Docker environment.
4. What is Docker Hub?
Docker images create docker containers. The registry where these docker images reside is called Docker Hub. Users can choose images from Docker Hub and use them to create customized containers. At present, the Docker Hub is the world’s largest public repository of image containers.
5. What is a Dockerfile?
A Dockerfile is a text document that delivers all the commands the user could call on the command line to assemble an image. Users can also create an automated build that executes several command-line instructions in succession by using Docker build.
6. Tell us something about Docker Compose.
Docker Compose is a YAML file that contains details about the services, networks, and volumes, which are important to set up the Docker application. Docker Compose can be used to create separate containers, host them, and get them to communicate with each other, where each container produces a port for communicating with other containers.
7. What is Docker Swarm?
Docker Swarm is native clustering for Docker that turns a pool of Docker hosts into a single, virtual Docker host. It serves the standard Docker API. Swarm can be used by any tool that already communicates with a Docker daemon for the purpose of transparent scaling to multiple hosts.
8. What is a Docker Namespace?
A namespace is an important concept of containers and a Linux feature. Namespace adds a layer of isolation in containers. Docker provides a number of namespaces to stay portable and not to affect the underlying host system Few examples of Namespaces are: PID, Mount, IPC, User, Network.
9. What is the lifecycle of a Docker Container?
Following are the stages of a Docker life cycle container:
- Create the container
- Run the container
- Pause the container(optional)
- Un-pause the container(optional)
- Start the container
- Stop the container
- Restart the container
- Kill the container
- Destroy the container
10. What is Docker Machine?
Docker machine is a tool that allows you to install Docker Engine on virtual hosts. With the help of docker-machine commands, you can manage these hosts as well. Docker machine also lets you improvise the Docker Swarm Clusters.
11. How to check for Docker Client and Docker Server version?
You will get information about Docker Client and Server versions with the help of this command:
$ docker version
12. How do you get the number of containers running, paused, and stopped?
The following command can help you to get detailed information about the Docker installed on your system.
$ docker info
13. If you vaguely remember the command and you’d like to confirm it, how will you get help on that particular command?
The following command can be very useful to instruct you on how to use a command, the syntax, etc.
$ docker –help
For one specific command, you can use the following syntax:
$ docker <command> –help
14. How can you login to the docker repository?
Following command helps you to log in to hub.docker.com:
$ docker login
You’ll be asked to put your username and password. After inserting those, you will be logged in successfully.
15. If you wish to use a base image and make modifications or personalize it, how do you do that?
First, you need to select an image from a Docker hub and then pull it on your local system.
You can pull an image from docker hub by using this command:
$ docker pull <image_name>
16. How do you create a docker container from an image?
You need to follow the steps mentioned below:
Pull an image from the docker repository and
Run it to create a container by using the following command:
$ docker run -it -d <image_name>
17. How do you list all the running containers?
This command assists you to list down all the running containers:
$ docker ps
18. How to start, stop, and kill a container?
To start a docker container, you need to use this following command:
$ docker start <container_id>
This one is for stopping a running container:
$ docker stop <container_id>
To kill a container, you can use this following command:
$ docker kill <container_id>
19. Once you’ve worked with an image, how do you push it to the docker hub?
After you are done working with an image, you need to use this following command to push it to the docker hub.
$ docker push <username/image name>
20. How to delete a stopped container?
The following command is used to delete a stopped container:
$ docker rm <container id>
Satisfied? Not yet? Well, if you want to learn further about Docker then we have a solution for you. Check out our DevOps training sessions, and join as per your requirements. Not only Docker, but you’ll also get to learn about other DevOps Tools there as well. Pretty cool, right?