Here are some basic Docker terminologies to help you understand the core concepts:
1. Image
A Docker image is a lightweight, standalone, and immutable file that contains all the dependencies, code, libraries, and environment needed to run an application. Images are like templates from which containers are created. You can think of an image as a snapshot of an environment.
2. Container
A container is a runtime instance of a Docker image. It is a lightweight, portable, and isolated environment where the application runs. Containers are faster to start and use fewer resources compared to virtual machines because they share the host OS kernel.
3. Dockerfile
A Dockerfile is a script containing a set of instructions to build a Docker image. It specifies the base image, dependencies, application code, environment variables, and commands to run within the container.
4. Registry
A Docker registry is a storage and distribution system for Docker images. The most popular public registry is Docker Hub, where users can upload and download images. You can also create private registries for specific use cases.
5. Docker Hub
Docker Hub is a cloud-based public registry that allows users to find, share, and manage Docker images. You can pull official images or upload your custom images to share with others.
6. Volume
A volume is a mechanism to store data outside the container's writable layer. It enables data persistence, meaning your data remains intact even if the container stops or is removed. Volumes are essential for applications that need to store state or data, like databases.
7. Network
Docker networking allows containers to communicate with each other and with the outside world. Docker creates an isolated network for containers, and you can define custom networks for better security and organization.
8. Docker Compose
Docker Compose is a tool for defining and running multi-container Docker applications. It uses a YAML file (docker-compose.yml) to configure all the services, networks, and volumes needed for an application.
These terms form the foundation of understanding how Docker operates. If you need further explanation on any of these or have additional questions, feel free to ask!