Containers Workshop
After this workshop you will
- know how Docker works on a high level
- understand benefits of using containerized workloads
- have a hands-on experience with Docker
- learn where to find more information and training resources
Containers to the rescue!
High Level Portability
OS Compatibility
DevOps Friendly
Enabling Microservices
Docker Benefits
Success Stories
ADP
PayPal
MetLife
ADP
Source: http://techgenix.com/containers-success-stories/
Lessons from ADP
Increased developers productivity due to:
- faster feedback during development cycle
- standardized development environments
PayPal
Source: http://techgenix.com/containers-success-stories/
Lessons from PayPal
Enable development Teams transition to containers by having a dedicated "platform" team to help and guide containerization
By decoupling Dev and Ops concerns developers can be more efficient and operations can upgrade/manage systems easier
MetLife
Source: http://techgenix.com/containers-success-stories/
Lessons from MetLife
Enable microservices-oriented architecture and gradual modernization of legacy applications
Take advantage of modern cloud offerings to improve development speed and scale
Docker Architecture
Containerd and rund
https://www.docker.com/blog/what-is-containerd-runtime/
Docker Flow
docker build -t user/imagename .
docker push user/imagename
Optional push to repo
docker run -it --name=mycontainer user/imagename
Run container
VMs vs Containers
Docker Repositories
Docker Hub
Private Repositories
Dockerfile
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build-env
WORKDIR /app
# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore
# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out
# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "aspnetapp.dll"]
Useful Resources
Portainer
Portainer is a lightweight management UI which allows you to easily manage your different Docker environments (Docker hosts or Swarm clusters). Portainer is meant to be as simple to deploy as it is to use. It consists of a single container that can run on any Docker engine (can be deployed as Linux container or a Windows native container, supports other platforms too). Portainer allows you to manage all your Docker resources (containers, images, volumes, networks and more) ! It is compatible with the standalone Docker engine and with Docker Swarm mode.
Thank you!
Thank you!
Questions?
Workshop time!
We will learn how to:
- Say "Hello World" from a container.
- Install docker on Linux.
- Pull our first container from Docker Hub and run it.
- Run a container with a web app and connect to it.
- Build our own docker image with Dockerfile.
Click HERE to get started
Docker Workshop
By Piotr
Docker Workshop
Docker workshop for beginners
- 621