Innovating Development and Infrastructure using Docker Containers

Carter Barnes

A Brief History

$

App 

Server

OS

VM

%

App 

OS

VM

%

App 

OS

VM

%

App 

OS

VM

%

Hypervisor

Host Operating System

Along Came Hypervisors

% CPU

% RAM

% HD

Licensing

App 

Server

App 

App 

App 

App 

Server

OS

VM

%

App 

OS

VM

%

App 

OS

VM

%

App 

OS

VM

%

Hypervisor

Host Operating System

Simplify, then add lightness

- Colin Chapman

Host Operating System

Container Host

How Do We Learn?

What Images are there?

Docker Run

Images are filesystem and parameters to use at runtime. They don't have state and never change.

Containers are running instances of images.

Volumes are directories designed to persist data, independent of the container’s life cycle.

docker run

-v ${PWD}:/app

microsoft/dotnet

CLI Demo

Dockerfile

FROM

COPY

ENTRYPOINT

ENV

EXPOSE

RUN

WORKDIR

FROM microsoft/dotnet

WORKDIR /app

COPY . .

RUN ["dotnet", "restore"]
RUN ["dotnet", "build"]

EXPOSE 5000/tcp
ENV ASPNETCORE_URLS http://*:5000

ENTRYPOINT ["dotnet", "run"]

Dockerfile Demo

Demo Dockerfile

Docker-Compose

Profile Service

Checklist Service

Cache

Database

How does this work?

Demo Docker-Compose

Wasn't that Awesome!?

Innovating Development and Infrastructure using Docker Containers

By Carter Barnes

Innovating Development and Infrastructure using Docker Containers

  • 242