Docker is a platform. It composes an environment of the application and makes the environment into a form of container. So when someone uses this container, others can use the application in the same way. i.e. they don’t have to install the various dependencies or check the structure for every local or other environments even in distribution.
Docker
Introduction
-
an open platform for developing, shipping, and running applications
-
enable
-
separate applications from infrastructure → deliver software quickly
-
manage the infrastructure in the same ways → manage the applications
-
reduce the delay between
writing codeandrunning code in production
-
Docker’s container-based platform
-
package and run an application in an isolated environment with security ⇒ i.e.
container- don’t need to rely on what’s installed on the host
-
everyone works in the same way in the same shared container
-
tooling and platform to manage the lifecycle of the containers
-
develop
-
distribute and test in a container → the unit for distributing and testing
-
deploy into the production environment as a container or an orchestrated service ⇒ no matter what the production environment is (ex.
local data center,cloud provider,a hybrid of the two)
-
Object
1. consistent delivery of the applications
-
great for continuous integration and delivery (e.g.
CI/CD) -
ex
- developers find bugs → fix them in the development environment → redeploy to the test environment for testing and validation → fix to the customer in the production environment
2. Responsive deployment and scaling
-
highly portable workloads
-
run on
a developer's local laptop,physical or virtual machines in a data center,cloud providers,a mixture of environments -
portable and lightweight
-
manage workloads
-
scale up or tear down
-
easy to control as business needs dictate in near real time
-
3. Running more workloads on the same hardware
-
lightweight & fast ⇒ viable & cost-effective alternative to hypervisor-based virtual machines
-
can use more of the server capacity
-
especially for high density environments & with fewer resources
Docker architecture
출처
-
a client-server architecture
-
The Docker clienttalks tothe Docker daemon-
The Docker clientanddaemoncan run on the same system -
A Docker clientcan be connected to a remoteDocker daemon
-
-
The Docker clientanddaemoncommunicate using aREST APIoverUNIX socketsor anetwork interface -
Docker Composelets working with applications consisting of a set ofcontainers.
-