This category of Docker interview questions consists of questions you should know. Undoubtedly, These are the most basic questions. Interviewers start with these and eventually increase the difficulty. Finally, Let’s take a look at them.
1. what is docker?
Using Docker, you can package all your applications and combine all the necessary dependencies into a container. This not only ensures that your application runs smoothly in any environment, but it also improves the efficiency of your production-ready application. In addition, Docker packages software snippets into all the necessary file systems, including everything you need to execute your code, and provides runtimes and system tools/libraries. This ensures that the software always runs the same regardless of the environment.
The container runs on the same computer using the same operating system kernel. Finally, This speeds up the process. This is because launching the application is the only time it takes to launch the Docker container (note that the operating system kernel is already running and is using the least memory possible).
2. What are the advantages of using a Docker container?
The main advantages of using Docker are:
- Provides efficient and easy initial setup
- Can elaborate on the life cycle of your application
- Simple configuration and interaction with Docker Compose.
- The document provides all the information.
3. What is a Docker Container?
The Docker container contains the application and all its dependencies. It shares the kernel with other containers that run as separate processes in the host operating system’s user space. There is no infrastructure requirement for Docker containers. They run on any computer, any infrastructure, and any cloud. A Docker container is basically a runtime instance of a Docker image.
4. What is Docker’s image?
You can think of a Docker image as a template that allows you to build any number of Docker containers from that single Docker image. Docker images, on the other hand, constitute Docker containers in layman’s terms. Using the build command, you can create a Docker image. This creates a container that starts at run time. Docker images are stored in Docker registries such as the public Docker registry (registry.hub.docker.com). These are designed to be built on layers of other images, so only minimal data is passed over the network. You can transfer it.
5. What are Docker object labels?
Labels are a mechanism for applying metadata to Docker objects such as containers, images, local daemons, networks, volumes, and nodes.
6. What is a Docker hub?
Docker Hub is a cloud-based registry service that allows you to link to code repositories, build and test images, store manually pushed images, and connect to the Docker cloud, allowing you to deploy images to your host. It provides centralized resources for container image discovery, distribution, change management, user-team collaboration, and workflow automation across the development pipeline.
7. What is Docker Swarm?
Since Docker Swarm is an important concept in Docker, you would expect to use Docker Swarm.
Docker Swarm is Docker’s native clustering. Turn the pool of Docker hosts into a single virtual Docker host. Docker Swarm provides a standard Docker API. Tools that are already communicating with the Docker daemon can be transparently scaled to multiple hosts using Swarm.
8. What can you tell me about Docker Compose?
This is a YAML file that contains all the details about the various services, networks, and volumes needed to set up a Docker-based application. Therefore, use Docker-Compose to create multiple containers, host them, and establish communication between them. Ports are exposed by individual containers for the purpose of communication between containers.
9. What is Docker Engine?
The Docker daemon or Docker engine represents a server. The Docker daemon and client must run on the same host or remote host that can communicate with the command line client binaries via the full RESTful API.
10. Show how you would create a container from an image.
To create a container, pull the image from the Docker repository and run it with the following command:
$ docker run -it -d <image_name>
11. How about a command to stop the container?
Use the following command:
$ sudo docker stop container name
12. Explain Registries
There are two types of registries is
- Public Registry
- Private Registry
Docker’s public registry is called Docker Hub, and you can store your images privately. Docker Hub can store millions of images.
13. What’s involved in scaling a Docker container?
Docker containers can be scaled to any level you want. Thanks to the flexibility of the platform, you can use hundreds to thousands to millions of containers if you always have unlimited access to the storage and operating system you need.
14. What is the way to establish communication between the Docker host and the Linux host?
This can be done over the network by identifying “ipconfig” on the Docker host. If Docker is present on the host, this command will create an Ethernet adapter.
15. What is a memory-swap flag?
Only memory swaps have meaning when memory is configured. Swap allows a container to write an explicit memory request to disk when it runs out of all available memory.
16. Explain the Implementation method of Continuous Integration(CI) and Continues Development (CD) in Docker?
You need to do the following things:
- Runs Jenkins on docker
- You can run integration tests in Jenkins using docker-compose
17. What is the best way of deleting a container?
We need to follow the following two steps for deleting a container:
– docker stop <container_id>
– docker rm <container_id>
18. Can I use JSON instead of YAML for my compose file in Docker?
Yes, you can easily use JSON instead of standard YAML for your Docker Compose files. To use a JSON file at creation time, you need to specify the file name to use as follows:
docker-compose -f docker-compose.json
19. How to stop and restart the Docker container?
You can stop a specific Docker container with a container ID similar to the following using the following command:
CONTAINER_ID: docker stop CONTAINER_ID
You can restart a specific Docker container by using the following command and specifying the container ID as follows:
CONTAINER_ID: docker restart CONTAINER_ID
20. Why is Docker the new craze in virtualization and cloud computing?
Docker is the newest and latest trend in the world of virtualization and cloud computing. This is an ultra-lightweight containerized app full of possibilities to show off your skills.
21. How does the ‘docker run’ differ from the ‘docker create’?
The main difference you can notice is that you can use the docker create command to create a stopped Docker container. You can also provide an ID. You can also save the ID for later use.
This can be achieved by using the docker run command with the –cidfileFILE_NAME option as follows:
docker run –cidfile FILE_NAME
22. Describe the lifecycle of Docker Container?
The various stages from the start to the end of creating a Docker container are called the Docker container life cycle.
The most important stages are:
- Created: This is a state where the container has just been rebuilt and has not yet started.
- Running: In this state, the container will run in all related processes.
- Pause: This condition occurs when a running container is suspended.
- Stopped: This condition occurs when a running container is stopped.
- Deleted: Inside is a dead container.
23. What is a Docker Namespace?
Namespaces are a feature of Linux and an important concept for containers. The namespace adds a separate layer to the container. Docker provides a variety of namespaces to maintain portability and not interfere with the underlying host system. Docker-PID, mount, IPC, user, and network support some namespace types.
24. Explain the process of scaling your Docker containers?
Docker containers can grow to any size, from hundreds to thousands or millions of containers. The only condition for this is that the container always requires memory and OS, and there are no limits when scaling Docker.
25. What is CNM?
CNM is an abbreviation for Container Networking Model. This is a Docker, Inc. standard or specification that provides the foundation for container networking in a Docker environment. This Docker approach provides support for multiple network drivers for container networks.
26. How do you check the versions of Docker Client and Server?
This command gives you all the information you need:
$ docker version
27. Can you remove a paused container from Docker?
The answer is no. You cannot delete a suspended container. Deleting a container requires stopping it first.
28. How many containers can run per host?
There can be any number of containers per host. Docker does not impose any restrictions. It is important to note, however, that each container requires disk space, CPU power, and memory. You also need to consider the size of your application. Despite being lightweight, containers are highly dependent on the host operating system.
29. When it comes to Docker containers, what are the different states they can be in?
There are four stages in which a Docker container can exist at any time. These states are shown as follows:
30. How will you monitor Docker in production?
Docker provides features such as Docker Statistics and Docker Events for monitoring Docker in production. Its statistics provide container CPU and memory usage. Docker events provide information about the activities that are taking place in the Docker daemon.