Docker for .NET Developers

Preview:

Citation preview

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: quan.truong.anh@gmail.com

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