1. What is Docker?
Ans:- Docker is a platform for developing, shipping, and running applications in containers.
2. What is a container?
Ans:- A container is a lightweight, standalone, and executable software package that includes everything needed to run a piece of software, including the code, runtime, libraries, and system tools.
3. How is Docker different from virtualization?
Ans:- Docker containers share the host OS kernel, making them more lightweight and efficient compared to virtual machines.
4. How do I install Docker?
Ans:- Installation instructions vary by operating system. Refer to the Docker documentation for platform-specific instructions.
5. What is a Docker image?
Ans:- A Docker image is a lightweight, standalone, and executable package that includes all the necessary code, runtime, libraries, and settings needed for an application to run.
6. How do I create a Docker image?
Ans:- Docker images are created using a Dockerfile, which is a script that specifies the base image, dependencies, and steps to build the image.
7. What is a Docker container registry?
Ans:- A container registry is a repository for storing and managing Docker images.
8. How do I push/pull Docker images to/from a registry?
Ans:- The docker push and docker pull commands are used to upload and download Docker images to/from a registry.
9. How do I run a Docker container?
Ans:- The docker run command is used to create and start a new container from a Docker image.
10. How can I expose ports in a Docker container?
Ans:- Use the -p option with the docker run command to map ports between the host and the container.
11. What is Docker Compose?
Ans:- Docker Compose is a tool for defining and running multi-container Docker applications using a YAML file to configure the application’s services, networks, and volumes.
12. How do I scale services with Docker Compose?
Ans:- Use the docker-compose up –scale command to scale services defined in a Docker Compose file.
13. How do I check the logs of a Docker container?
Ans:- The docker logs command allows you to view the logs of a running container.
14. What is Docker Swarm?
Ans:- Docker Swarm is a native clustering and orchestration solution for Docker, enabling the creation and management of a swarm of Docker nodes.
15. How do I deploy services in Docker Swarm?
Ans:- Use the docker service create command to deploy services in Docker Swarm.
16. What is the difference between a Docker image and a container?
Ans:- A Docker image is a static snapshot of an application and its dependencies, while a container is a running instance of a Docker image.
17. How do I remove a Docker container?
Ans:- The docker rm command is used to remove a stopped container, and the docker container prune command can be used to remove all stopped containers.
18. Can Docker containers communicate with each other?
Ans:- Yes, Docker containers can communicate with each other using network bridges or user-defined networks.
19. How can I pass environment variables to a Docker container?
Ans:- Use the -e option with the docker run command to set environment variables for a container.
20. What is the difference between CMD and ENTRYPOINT in a Dockerfile?
Ans:- CMD specifies default command and/or parameters, while ENTRYPOINT allows you to configure a container that will run as an executable.
21. How do I mount volumes in Docker?
Ans:- The -v option with the docker run command is used to mount volumes between the host and the container.
22. How do I update a Docker image?
Ans:- Build a new version of the image with an updated Dockerfile and push it to the registry.
23. What is the purpose of the Dockerfile’s WORKDIR instruction?
Ans:- The WORKDIR instruction sets the working directory for any RUN, CMD, ENTRYPOINT, COPY, and ADD instructions that follow in the Dockerfile.
24. How do I build a Docker image from a specific Dockerfile?
Ans:- Use the -f option with the docker build command to specify the location of the Dockerfile.
25. How can I access files inside a Docker container?
Ans:- Use the docker cp command to copy files between the host and a running container.
26. What is the difference between Docker image and Docker container size?
Ans:- The image size is the size of the Docker image file, while the container size is the amount of resources the container consumes when running.
27. How do I update Docker containers without downtime?
Ans:- Use rolling updates or blue-green deployments to update containers without downtime.
28. What is the purpose of the HEALTHCHECK instruction in a Dockerfile?
Ans:- The HEALTHCHECK instruction tells Docker how to test a container to check that it is still working.
29. How can I run commands in a running Docker container?
Ans:- Use the docker exec command to run commands in a running container.
30. How do I build a Docker image with a specific tag?
Ans:- Use the -t option with the docker build command to specify a tag for the image.
31. What is Docker networking?
Ans:- Docker networking allows containers to communicate with each other and with the outside world.
32. How do I remove all Docker images?
Ans:- The docker rmi command can be used to remove individual images, while docker image prune removes all unused images.
33. How can I see the processes running inside a Docker container?
Ans:- The docker top command shows the processes running inside a container.
34. What is Docker Hub?
Ans:- Docker Hub is a cloud-based registry service that allows you to link to code repositories, build your images, test them, and store the images.
35. How do I stop a running Docker container?
Ans:- The docker stop command is used to stop a running container.
36. How can I secure Docker containers?
Ans:- Use best practices such as minimizing the image size, keeping software up to date, and configuring proper access controls.
37. How do I create a custom network in Docker?
Ans:- The docker network create command is used to create a custom network.
38. Can I run GUI applications in a Docker container?
Ans:- Yes, it’s possible using technologies like X11 forwarding or tools like VNC.
39. How do I clean up Docker resources?
Ans:- Use commands like docker system prune to clean up unused containers, networks, and volumes.
40. What is the purpose of the FROM instruction in a Dockerfile?
Ans:- The FROM instruction sets the base image for subsequent instructions in the Dockerfile.
41. How do I pass arguments to a Docker image during the build?
Ans:- Use the –build-arg option with the docker build command to pass build-time variables.
42. How do I view the history of a Docker image?
Ans:- The docker history command displays the history of an image, showing the layers and commands used in its creation.
43. Can I use Docker on Windows and macOS?
Ans:- Yes, Docker provides solutions for both Windows (Docker Desktop) and macOS (Docker Desktop).
44. What is the purpose of the EXPOSE instruction in a Dockerfile?
Ans:- The EXPOSE instruction informs Docker that the specified network ports on the container should be published and made accessible.
45. How do I build a multi-stage Dockerfile?
Ans:- Use multiple FROM instructions in a Dockerfile to create multiple build stages.
46. How do I check the version of Docker installed?
Ans:- The docker version command provides information about the installed Docker version.
47. How do I enable Swarm mode in Docker?
Ans:- Use the docker swarm init command to initialize Swarm mode on a Docker host.
48. What is Docker Health Check?
Ans:- Docker Health Check is a feature that allows you to define a command to periodically check the health of a running container.
49. How do I export and import Docker images?
Ans:- Use the docker save command to export an image, and docker load to import it.
50. Can I run Docker on a Raspberry Pi?
Ans:- Yes, there is a version of Docker that is compatible with Raspberry Pi called Docker Engine – Community Edition for Raspbian.