computer-scienceangular-roadmapbackend-roadmapblockchain-roadmapdba-roadmapdeveloper-roadmapdevops-roadmapfrontend-roadmapgo-roadmaphactoberfestjava-roadmapjavascript-roadmapnodejs-roadmappython-roadmapqa-roadmapreact-roadmaproadmapstudy-planvue-roadmapweb3-roadmap
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.8 KiB
31 lines
1.8 KiB
# Containers |
|
|
|
Containers can be thought of as lightweight, stand-alone, and executable software packages that include everything needed to run a piece of software, including the code, runtime, libraries, environment variables, and config files. Containers isolate software from its surroundings, ensuring that it works uniformly across different environments. |
|
|
|
## Why Use Containers? |
|
|
|
- **Portability**: Containers ensure that applications work consistently across different platforms, be it a developer's laptop or a production server. This eliminates the "it works on my machine" problem. |
|
|
|
- **Efficiency**: Containers are lightweight since they use shared resources without the overhead of a full-fledged operating system. This enables faster startup times and reduces resource usage. |
|
|
|
- **Scalability**: Containers can be effortlessly scaled up or down according to the workload, making it ideal for distributed applications and microservices. |
|
|
|
- **Consistency**: Containers enable developers, QA, and operations teams to have a consistent environment throughout the application lifecycle, leading to faster and smoother deployment pipelines. |
|
|
|
- **Security**: Containers provide a level of isolation from other containers and the underlying host system, which aids in maintaining application security. |
|
|
|
## Working with Containers using Docker CLI |
|
|
|
Docker CLI offers several commands to help you create, manage, and interact with containers. Some common commands include: |
|
|
|
- `docker run`: Used to create and start a new container. |
|
|
|
- `docker container ls`: Lists running containers. |
|
|
|
- `docker container stop`: Stops a running container. |
|
|
|
- `docker container rm`: Removes a stopped container. |
|
|
|
- `docker exec`: Executes a command inside a running container. |
|
|
|
- `docker logs`: Fetches the logs of a container, useful for debugging issues. |