Learn Docker and Docker-Compose¶
In this section I'll walk you through the basics of Docker and Docker-Compose.
With Docker, which is an open source containerization platform, you can package applications into containers. Its then a standardized, executable, component that combines application source code with the operating system (OS) libraries and dependencies required to run that code in any environment.
Sounds difficult? Sounds cool? Sounds like something you want to try!
What you'll learn in this course¶
🏃🏻♀️ Running containers
🗻 Mount volumes into containers
🗺 Map ports from inside the container into the host
🧱 Compose different containers together into a larger service
Why use Docker anyways?¶
If you're a professional developer, then you know that the world of app development is constantly changing. And with new changes come new challenges – like how to best deploy your apps.
Containerization and Docker can help solve some of these challenges. Let's take a look at some of the benefits:
- Containerized apps are portable and easy to move between environments, making them perfect for testing and development.
- They also use fewer resources than traditional apps, so they run more efficiently on servers.
- Docker makes it easy to manage containers, meaning you can quickly spin up new instances or replicate existing ones as needed.
- Finally, because containerized apps are isolated from their environment, they’re less likely to be affected by security breaches or other issues
There are many benefits to using apps in containers. Perhaps the most obvious benefit is that containers make it possible to run multiple applications on a single server. This can dramatically reduce hardware costs, as well as administrative and management costs.
Another big advantage of containers is that they make it easy to deploy applications. By using docker-compose, you can easily create a file that describes all of the services required by your application, and then use docker-compose to launch all of those services at once. This makes it easy to quickly deploy new versions of your application, or even spin up new instances of your application for testing or staging purposes.
Finally, containers provide a level of isolation between applications running on the same server. If one application crashes or becomes corrupted, it will not affect any other applications running on the same server. This helps ensure high availability and stability for your applications.
What are you waiting for? Let's go!