29
DOCKER for .NET Developers Ha Noi .NET Group Docker-Hanoi

Docker for .net developer

Embed Size (px)

Citation preview

Page 1: Docker for .net developer

DOCKERfor .NET Developers

Ha Noi .NET Group – Docker-Hanoi

Page 2: Docker for .net developer

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]

Page 3: Docker for .net developer

AGENDA What is Docker Docker Benefits for Developers Docker on Windows Docker for ASP.NET Developers

Page 4: Docker for .net developer

WHAT IS DOCKER

Page 5: Docker for .net developer

WHAT IS DOCKER…

Virtual Machines Containers

http://www.docker.com/what-docker

Page 6: Docker for .net developer

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.

Page 7: Docker for .net developer

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

Page 8: Docker for .net developer

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

Page 9: Docker for .net developer

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.

Page 10: Docker for .net developer

WHAT IS DOCKER…

Build your own images

Page 11: Docker for .net developer

WHAT IS DOCKER…Updating and committing an image

Building an image from a Dockerfile

Page 12: Docker for .net developer

WHAT IS DOCKER…

Page 13: Docker for .net developer

WHAT IS DOCKER…

Container and layers

Page 14: Docker for .net developer

WHAT IS DOCKER…

Container and layers

Page 15: Docker for .net developer

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.

Page 16: Docker for .net developer

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.

Page 17: Docker for .net developer

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

Page 18: Docker for .net developer

DOCKER ON WINDOWSDocker Toolboxhttps://docs.docker.com/toolbox/

Docker for Windowshttps://docs.docker.com/docker-for-windows/

Page 19: Docker for .net developer

WINDOWS CONTAINERS

Windows Server Containers Hyper-V Containers

https://aka.ms/containers

Page 20: Docker for .net developer

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

Page 21: Docker for .net developer

WINDOWS CONTAINERS SAMPLES

Windows Server Core Nano server

https://aka.ms/containers

Page 22: Docker for .net developer

WINDOWS CONTAINERS SAMPLES

https://aka.ms/containers

Page 23: Docker for .net developer

WINDOWS CONTAINERS SAMPLES

https://aka.ms/containers

Page 24: Docker for .net developer

WINDOWS CONTAINERS SAMPLES

https://aka.ms/containers

Page 25: Docker for .net developer

DOCKER FOR ASP.NET DEVELOPERSDocker Tools for Visual Studiohttps://aka.ms/DockerToolsForVS

Page 26: Docker for .net developer

DOCKER FOR ASP.NET DEVELOPERSDocker Extension for Visual Studio Codehttps://aka.ms/DockerToolsForVSCode

Page 27: Docker for .net developer

DOCKER FOR ASP.NET DEVELOPERSDeveloping and debugging apps in Docker containerhttps://aka.ms/DockerToolsForVSCode

Page 28: Docker for .net developer

DOCKER FOR ASP.NET DEVELOPERSDocker Extension for Visual Studio Codehttps://aka.ms/DockerToolsForVSCode

Page 29: Docker for .net developer

WHAT’S NEXT