Docker Flashcards
Requirements
Install:
JDK (java 11 or higher)
Docker Engine 20.10 or higher
maven 3.6 or > (ideally for command line use)
checks
java -version
javac -version
mvn -v
pocker ps(running containers)
Docker
*an open platform for developing, shipping, and running applications in a container
*containers are lightweight isolated environments that contain everything needed to run the application, so you don’t need to rely on what’s installed on the host.
Image
An image is a read-only template with instructions for creating a Docker container.
To build your own image, you create a Dockerfile with a simple syntax for defining the steps needed to create the image and run it. Each instruction in a Dockerfile creates a layer in the image. When you change the Dockerfile and rebuild the image, only those layers which have changed are rebuilt. This is part of what makes images so lightweight, small, and fast, when compared to other virtualization technologies.
Containers
*A container is a runnable instance of an image
* containers are standalone software packages that include libraries, tools, settings, and runtime to make applications work.
Containerization provides an opportunity to move and scale applications to clouds and data centers. Containers effectively guarantee that those applications run the same way anywhere, allowing you to quickly and easily take advantage of all these environments.
Orchestrators
Orchestrators = Tools to manage, scale, and maintain containerized applications
As you scale your applications up, you need some tooling to help automate the maintenance of those applications, enable the replacement of failed containers automatically, and manage the roll-out of updates and reconfigurations of those containers during their lifecycle.
Two of the most popular orchestration tools are Kubernetes, Docker Swarm amd OpenShift
doker-maven-plugin
doker-maven-plugin
–> used to build images and push on docker hub