DOCKERfor .NET Developers
Ha Noi .NET Group – Docker-Hanoi
ABOUT ME Quan Truong Anh Current:
R&D Specialist – R&D Department IT Center – Vietcombank
Previous: Project Tech Lead – FPT Software
Community I joined AgileVietnam Docker-Hanoi Ha Noi .NET Group
Contact: Facebook: /quanta.vn Email: [email protected]
AGENDA What is Docker Docker Benefits for Developers Docker on Windows Docker for ASP.NET Developers
WHAT IS DOCKER
WHAT IS DOCKER…
Virtual Machines Containers
http://www.docker.com/what-docker
WHAT IS DOCKER…
Docker Engine
https://docs.docker.com/engine/understanding-docker/
is a client-server application with these major components:
A server which is a type of long-running program called a daemon process.
A REST API which specifies interfaces that programs can use to talk to the daemon and instruct it what to do.
A command line interface (CLI) client.
WHAT IS DOCKER…
Docker’s architecture When you run a container $ docker run -i -t ubuntu /bin/bash Docker Engine does the following:
Pulls the ubuntu image Creates a new container Allocates a filesystem and mounts a
read-write layer Allocates a network / bridge interface Sets up an IP address Executes a process that you specify Captures and provides application
output
WHAT IS DOCKER…
Docker’s architecture When you run a container $ docker run -i -t ubuntu /bin/bash Docker Engine does the following:
Pulls the ubuntu image Creates a new container Allocates a filesystem and mounts a
read-write layer Allocates a network / bridge interface Sets up an IP address Executes a process that you specify Captures and provides application
output
WHAT IS DOCKER…
Images and layers
Each Docker image references a list of read-only layers that represent filesystem differences.
Layers are stacked on top of each other to form a base for a container’s root filesystem.
WHAT IS DOCKER…
Build your own images
WHAT IS DOCKER…Updating and committing an image
Building an image from a Dockerfile
WHAT IS DOCKER…
WHAT IS DOCKER…
Container and layers
WHAT IS DOCKER…
Container and layers
WHAT IS DOCKER…Data volumes and the storage driver
When a container is deleted, any data written to the container that is not stored in a data volume is deleted along with the container.
A data volume is a directory or file in the Docker host’s filesystem that is mounted directly into a container.
Reads and writes to data volumes bypass the storage driver and operate at native host speeds.
DOCKER BENEFITS FOR DEVELOPERS Write once, deploy
anywhere Docker is a platform for
developers and sysadmins to develop, ship, and run applications.
Docker lets you quickly assemble applications from components and eliminates the friction that can come when shipping code.
Docker lets you get your code tested and deployed into production as fast as possible.
DOCKER BENEFITS FOR DEVELOPERS
AGILITYDevelopers have the freedom to define environments, and the ability to create and deploy apps faster and easier.
CONTROLDevelopers own all the code from infrastructure to app.
PORTABILITYDocker gives you choice without complexity, from a laptop to a team, to private infrastructure and public cloud providers.
CI/CDEnable developers to develop and test applications more quickly and within any environment
DOCKER ON WINDOWSDocker Toolboxhttps://docs.docker.com/toolbox/
Docker for Windowshttps://docs.docker.com/docker-for-windows/
WINDOWS CONTAINERS
Windows Server Containers Hyper-V Containers
https://aka.ms/containers
WINDOWS CONTAINERS
Windows Server Containers
https://aka.ms/containers
Host Operating System Windows Server container Hyper-V container
Windows Server 2016 Full UI Server Core image Nano Server image
Windows Server 2016 Core Server Core image Nano Server image
Windows Server 2016 Nano Nano Server image Nano Server image
Windows 10 Insider Releases Not Available Nano Server image
WINDOWS CONTAINERS SAMPLES
Windows Server Core Nano server
https://aka.ms/containers
WINDOWS CONTAINERS SAMPLES
https://aka.ms/containers
WINDOWS CONTAINERS SAMPLES
https://aka.ms/containers
WINDOWS CONTAINERS SAMPLES
https://aka.ms/containers
DOCKER FOR ASP.NET DEVELOPERSDocker Tools for Visual Studiohttps://aka.ms/DockerToolsForVS
DOCKER FOR ASP.NET DEVELOPERSDocker Extension for Visual Studio Codehttps://aka.ms/DockerToolsForVSCode
DOCKER FOR ASP.NET DEVELOPERSDeveloping and debugging apps in Docker containerhttps://aka.ms/DockerToolsForVSCode
DOCKER FOR ASP.NET DEVELOPERSDocker Extension for Visual Studio Codehttps://aka.ms/DockerToolsForVSCode
WHAT’S NEXT