A container is a standard unit of software that packages up code and all its dependencies
Applications run reliably from one computing environment to another.
Standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
When deployments are easy and repeatable, the operations job gets easier. Team members can perform any role. There doesn’t need to be a distinction between development and operations.
This contrasts with the process of operations teams trying to build suitable environments from written documents/talking to developers. Developers better test the runtime environment for the application.
To ease QA/PO demos.
A Dockerfile scripts the building of a runtime environment for an application.
FROM node:12.11.1-alpine
# Install and setup Java
RUN apk --update --no-cache add openjdk8
ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk
# Make port 8080 available to the world
# outside this container
EXPOSE 8080
# Copy over the application and its packages
WORKDIR /usr/app/fxtrader
COPY ./apps/fxtrader .
COPY ./packages-caplin ../../packages-caplin/.
# Install the application
RUN yarn install --silent
"buildcontainer": "docker build -f Pro.Dockerfile -t pro:latest ../../",
...
"runcontainer": "docker run -P -it --name pro pro yarn start",
Add URLs to PRs
Help our clients deploy applications
Make dev environment more realistic
Containers generally do one thing well. An orchestrator brings together the containers enlisted in the effort into a cohesive whole system. Orchestration is the mastermind, focused on the bigger picture.
Docker can run a workload in a container, but all it knows about the lifecycle of a container is that it starts and ends with a given process.
availability, fault tolerance, scale, networking, discovery, and cost, load balancing, partition tolerance, instrumentation
managing complex deployments. It enables handling many moving parts and keeping the operation up, healthy, and thriving.
After reaching the desired state, they monitor for disruption to that state and restore it when there’s a deviation.