SlideShare a Scribd company logo
Architecting .NET Applications for 
Docker and Container Based 
Deployments 
@Ben_Hall 
Ben@BenHall.me.uk 
Blog.BenHall.me.uk
Who? 
@Ben_Hall 
Tech Support > Tester > Developer > Founder > 
Freelancer 
Ocelot Uproar
Agenda 
• What are containers? 
• .NET running inside a Docker Container 
• Two Containers 
• Three Containers 
• Four Containers, More! 
• Future of Docker and Windows/.NET
A Load Balanced ASP.NET Website 
running inside Docker
WHAT ARE CONTAINERS?
Deployments are hard. 
They shouldn’t be.
Container 
https://www.docker.com/whatisdocker/
Container… 
Own Process Space 
Own Network Interface 
Own Root Directories 
Sandboxed 
Like a lightweight VM. But it’s not a VM.
Container… 
Native CPU 
Native Memory 
Native IO 
No Pre-Allocation 
Zero Performance Overheard
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
Build, Ship and Run Any App, Anywhere 
Docker - An open platform for distributed applications 
for developers and sysadmins.
Architecting .NET Applications for Docker and Container Based Deployments
In Real Life? 
Digital Ocean Ubuntu Droplet 
Node.js Node.js GoLang Mono 
Static Site ElasticSearch ElasticSearch 
Logstash Kibana Nginx Redis
- Easy deployment 
- Isolated sandboxes 
- Portability 
- Development === Production 
- Control
Architecting .NET Applications for Docker and Container Based Deployments
$ boot2docker 
https://github.com/boot2docker/windows-installer
Production
Architecting .NET Applications for Docker and Container Based Deployments
Not much .NET on there… 
At the moment they’re based on Linux. 
Today Mono works, as does XSP and 
ASP.NET vNext. 
Tomorrow?
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
.NET APPLICATION RUNNING 
INSIDE CONTAINER
$ docker run 
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
$ docker run 
--name === Friendly name 
--rm === Remove when finished 
-t === Attach to terminal 
-I === Interactive
ASP.NET Example
http://blog.benhall.me.uk/2014/10/running-nancyfx-inside-docker-container/
Dockerfile
Dockerfile - FROM
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
$ docker search
Dockerfile – ADD / WORKDIR / 
RUN
Dockerfile - EXPOSE
Dockerfile – CMD / 
ENTRYPOINT
Architecting .NET Applications for Docker and Container Based Deployments
$ docker build 
--t === Friendly name. 
<Docker Hub Username>/<ProjectName>
$ docker images
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
$ docker run
$ docker ps 
-a === Show all containers
$ docker logs 
-f === tail the logs – watch them in real time
$ docker run –p $CONTAINERPORT
Why “$ curl 0.0.0.0:49218” ?
$ boot2docker ip
$ curl b2d:49218
Architecting .NET Applications for Docker and Container Based Deployments
Environment Variables
$ docker push
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
$ docker export / save
$ docker import / load
What do we have? 
$ cd ~/SourceControl/HelloWorldVNext 
$ cat Dockerfile 
$ docker build -t benhall/aspnetvnext . 
$ docker run -d -t -i -p 5000:5000 benhall/aspnetvnext 
$ curl 192.168.59.103:5000 
<h1>Hello from Razor!!<h1> 
<h2>From 95a28c090686</h2> 
$ docker push benhall/aspnetvnext
TWO CONTAINERS
Storing Data - Volumes 
-v /opt/docker/scrapbook_elasticsearch:/data 
-v /opt/docker/mysql:/var/lib/mysql 
-v /docker/scrapbook/uploads:/app/public/uploads
Architecting .NET Applications for Docker and Container Based Deployments
$ docker run –link CONTAINER:ALIAS
Architecting .NET Applications for Docker and Container Based Deployments
Two Websites On Port 80?
Nginx
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
DockerGen 
Generate files from docker container meta-data 
https://github.com/jwilder/docker-gen
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
https://github.com/jwilder/nginx-proxy
THREE CONTAINERS
Fig
Architecting .NET Applications for Docker and Container Based Deployments
$ fig up
Identical for Mono/ASP.NET
FOUR AND MORE!
Architecting .NET Applications for Docker and Container Based Deployments
http://www.ryantomlinson.com/consul-service-discovery-in-a-microservice-world/
1) Like DockerGen, Consul 
raises events on docker 
events 
2) Registrator adds new 
containers details into Consul 
3) Consul links containers IP / 
Ports to DNS names
$ ping redis.service.east-aws.consul 
$ ping redis.service.consul 
[tag.]<service>.service[.datacenter][.domain]
Architecting .NET Applications for Docker and Container Based Deployments
https://github.com/BenHall/docker-loadbalancer-aspnet-demo
BRING IT BACK TO .NET
How should the app be 
structure?
DOCKER AND AZURE
$ azure vm docker create -e 22 -l 'West US' ubuntu-docker 
"b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64- 
server-20140618.1-en-us-30GB" rgardler 1234abcdE$ 
http://msopentech.com/blog/2014/09/11/docker_host_in_azure/
$ docker --tls 
-H tcp://ubuntu-docker.cloudapp.net:4243 
info 
http://msopentech.com/blog/2014/08/15/getting_started_docker_on_microsoft_azure/
$ docker --tls 
-H tcp://ubuntu-docker.cloudapp.net:4243 
run -t -i ubuntu bash 
http://msopentech.com/blog/2014/08/15/getting_started_docker_on_microsoft_azure/
Architecting .NET Applications for Docker and Container Based Deployments
THE FUTURE?
Docker and Microsoft 
Partnership
SQL Server as a Container?
Architecting .NET Applications for Docker and Container Based Deployments
Visual Studio as a Container?
Architecting .NET Applications for Docker and Container Based Deployments
IN SUMMARY…
Only tool I use for deployment 
• Close gap between development and 
production 
• Everything is a container! 
• Running platforms like Logstash, 
ElasticSearch, Redis, EventStore, 
RavenDB, NancyFX etc? Consider 
containers for deployment.
Architecting .NET Applications for Docker and Container Based Deployments
THANK YOU 
@Ben_Hall 
Ben@BenHall.me.uk 
Blog.BenHall.me.uk
Ad

Recommended

Docker - The Linux Container
Docker - The Linux Container
Balaji Rajan
 
Docker - introduction
Docker - introduction
Michał Kurzeja
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with Docker
Jérôme Petazzoni
 
Docker Introduction
Docker Introduction
Sparkbit
 
Docker by Example - Basics
Docker by Example - Basics
Ganesh Samarthyam
 
Basic docker for developer
Basic docker for developer
Weerayut Hongsa
 
Docker for developers
Docker for developers
andrzejsydor
 
Docker workshop
Docker workshop
Michał Kurzeja
 
docker installation and basics
docker installation and basics
Walid Ashraf
 
Docker and stuff
Docker and stuff
Varun Sharma
 
Introduction to docker
Introduction to docker
Instruqt
 
Docker introduction
Docker introduction
Phuc Nguyen
 
Docker Introductory workshop
Docker Introductory workshop
Runcy Oommen
 
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Yogesh Wadile
 
Docker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registry
dotCloud
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
dotCloud
 
Amazon Web Services and Docker
Amazon Web Services and Docker
Paolo latella
 
Intro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and Windows
Thomas Chacko
 
Docker 101 @KACST Saudi HPC 2016
Docker 101 @KACST Saudi HPC 2016
Walid Shaari
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Van Phuc
 
Introduction To Docker
Introduction To Docker
Hamilton Turner
 
Docker Introduction
Docker Introduction
MANAOUIL Karim
 
Docker, the Future of DevOps
Docker, the Future of DevOps
andersjanmyr
 
Docker - 15 great Tutorials
Docker - 15 great Tutorials
Julien Barbier
 
Docker and the Linux Kernel
Docker and the Linux Kernel
Docker, Inc.
 
Building Reusable Development Environments with Docker
Building Reusable Development Environments with Docker
Revelation Technologies
 
Docker Introduction
Docker Introduction
Jeffrey Ellin
 
Introduction To Docker
Introduction To Docker
Dr. Syed Hassan Amin
 
Docker introduction
Docker introduction
dotCloud
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
Jérôme Petazzoni
 

More Related Content

What's hot (20)

docker installation and basics
docker installation and basics
Walid Ashraf
 
Docker and stuff
Docker and stuff
Varun Sharma
 
Introduction to docker
Introduction to docker
Instruqt
 
Docker introduction
Docker introduction
Phuc Nguyen
 
Docker Introductory workshop
Docker Introductory workshop
Runcy Oommen
 
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Yogesh Wadile
 
Docker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registry
dotCloud
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
dotCloud
 
Amazon Web Services and Docker
Amazon Web Services and Docker
Paolo latella
 
Intro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and Windows
Thomas Chacko
 
Docker 101 @KACST Saudi HPC 2016
Docker 101 @KACST Saudi HPC 2016
Walid Shaari
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Van Phuc
 
Introduction To Docker
Introduction To Docker
Hamilton Turner
 
Docker Introduction
Docker Introduction
MANAOUIL Karim
 
Docker, the Future of DevOps
Docker, the Future of DevOps
andersjanmyr
 
Docker - 15 great Tutorials
Docker - 15 great Tutorials
Julien Barbier
 
Docker and the Linux Kernel
Docker and the Linux Kernel
Docker, Inc.
 
Building Reusable Development Environments with Docker
Building Reusable Development Environments with Docker
Revelation Technologies
 
Docker Introduction
Docker Introduction
Jeffrey Ellin
 
Introduction To Docker
Introduction To Docker
Dr. Syed Hassan Amin
 
docker installation and basics
docker installation and basics
Walid Ashraf
 
Introduction to docker
Introduction to docker
Instruqt
 
Docker introduction
Docker introduction
Phuc Nguyen
 
Docker Introductory workshop
Docker Introductory workshop
Runcy Oommen
 
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Yogesh Wadile
 
Docker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registry
dotCloud
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
dotCloud
 
Amazon Web Services and Docker
Amazon Web Services and Docker
Paolo latella
 
Intro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and Windows
Thomas Chacko
 
Docker 101 @KACST Saudi HPC 2016
Docker 101 @KACST Saudi HPC 2016
Walid Shaari
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Van Phuc
 
Docker, the Future of DevOps
Docker, the Future of DevOps
andersjanmyr
 
Docker - 15 great Tutorials
Docker - 15 great Tutorials
Julien Barbier
 
Docker and the Linux Kernel
Docker and the Linux Kernel
Docker, Inc.
 
Building Reusable Development Environments with Docker
Building Reusable Development Environments with Docker
Revelation Technologies
 

Viewers also liked (20)

Docker introduction
Docker introduction
dotCloud
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
Jérôme Petazzoni
 
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)
Ben Hall
 
Geospatial Data in Library Collections
Geospatial Data in Library Collections
Ifigenia Vardakosta
 
Geospatial Data and Key Characteristics of Geospatial Data Analysis and Science
Geospatial Data and Key Characteristics of Geospatial Data Analysis and Science
Luis Bermudez
 
National level strategy for Open Principles in Geospatial
National level strategy for Open Principles in Geospatial
Suchith Anand
 
Geospatial Applications in Civil Engineering
Geospatial Applications in Civil Engineering
Sriharsha Rangineni
 
Embracing Startup Life and learning to think The Startup Way
Embracing Startup Life and learning to think The Startup Way
Ben Hall
 
What Developers Need To Know About Visual Design
What Developers Need To Know About Visual Design
Ben Hall
 
Learning to think "The Designer Way"
Learning to think "The Designer Way"
Ben Hall
 
From zero to hero with running your asp.net core 1 application in a docker co...
From zero to hero with running your asp.net core 1 application in a docker co...
Maurice De Beijer [MVP]
 
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Jérôme Petazzoni
 
Real World Example of Orchestrating Docker, Node JS, NFV on OpenStack
Real World Example of Orchestrating Docker, Node JS, NFV on OpenStack
Nati Shalom
 
Cuadro
Cuadro
Junior Altamiranda Pérez
 
Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)
Ben Hall
 
Docker - container and lightweight virtualization
Docker - container and lightweight virtualization
Sim Janghoon
 
Evoluation of Linux Container Virtualization
Evoluation of Linux Container Virtualization
Imesh Gunaratne
 
Learn docker in 90 minutes
Learn docker in 90 minutes
Larry Cai
 
Programación III (Java) - 07 Eventos
Programación III (Java) - 07 Eventos
Andoni Eguíluz Morán
 
Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)
Enrique Catala Bañuls
 
Docker introduction
Docker introduction
dotCloud
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
Jérôme Petazzoni
 
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)
Ben Hall
 
Geospatial Data in Library Collections
Geospatial Data in Library Collections
Ifigenia Vardakosta
 
Geospatial Data and Key Characteristics of Geospatial Data Analysis and Science
Geospatial Data and Key Characteristics of Geospatial Data Analysis and Science
Luis Bermudez
 
National level strategy for Open Principles in Geospatial
National level strategy for Open Principles in Geospatial
Suchith Anand
 
Geospatial Applications in Civil Engineering
Geospatial Applications in Civil Engineering
Sriharsha Rangineni
 
Embracing Startup Life and learning to think The Startup Way
Embracing Startup Life and learning to think The Startup Way
Ben Hall
 
What Developers Need To Know About Visual Design
What Developers Need To Know About Visual Design
Ben Hall
 
Learning to think "The Designer Way"
Learning to think "The Designer Way"
Ben Hall
 
From zero to hero with running your asp.net core 1 application in a docker co...
From zero to hero with running your asp.net core 1 application in a docker co...
Maurice De Beijer [MVP]
 
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Jérôme Petazzoni
 
Real World Example of Orchestrating Docker, Node JS, NFV on OpenStack
Real World Example of Orchestrating Docker, Node JS, NFV on OpenStack
Nati Shalom
 
Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)
Ben Hall
 
Docker - container and lightweight virtualization
Docker - container and lightweight virtualization
Sim Janghoon
 
Evoluation of Linux Container Virtualization
Evoluation of Linux Container Virtualization
Imesh Gunaratne
 
Learn docker in 90 minutes
Learn docker in 90 minutes
Larry Cai
 
Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)
Enrique Catala Bañuls
 
Ad

Similar to Architecting .NET Applications for Docker and Container Based Deployments (20)

Running .NET on Docker
Running .NET on Docker
Ben Hall
 
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇
Philip Zheng
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안
양재동 코드랩
 
Docker for developers on mac and windows
Docker for developers on mac and windows
Docker, Inc.
 
手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇
Philip Zheng
 
Docker workshop 0507 Taichung
Docker workshop 0507 Taichung
Paul Chao
 
Docker for developers z java
Docker for developers z java
andrzejsydor
 
手把手帶你學Docker 03042017
手把手帶你學Docker 03042017
Paul Chao
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and Production
Ben Hall
 
JDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
JDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
PROIDEA
 
Docker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google Cloud
Samuel Chow
 
Dockerizing a Symfony2 application
Dockerizing a Symfony2 application
Roman Rodomansky
 
Docker Container As A Service - Mix-IT 2016
Docker Container As A Service - Mix-IT 2016
Patrick Chanezon
 
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
Swaminathan Vetri
 
Docker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps Development
msyukor
 
Docker for Web Developers: A Sneak Peek
Docker for Web Developers: A Sneak Peek
msyukor
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Codemotion
 
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Karim Vaes
 
Docker Introduction and its Usage in Machine Learning
Docker Introduction and its Usage in Machine Learning
yogendra18
 
Introduction to Docker & CoreOS - Symfony User Group Cologne
Introduction to Docker & CoreOS - Symfony User Group Cologne
D
 
Running .NET on Docker
Running .NET on Docker
Ben Hall
 
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇
Philip Zheng
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안
양재동 코드랩
 
Docker for developers on mac and windows
Docker for developers on mac and windows
Docker, Inc.
 
手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇
Philip Zheng
 
Docker workshop 0507 Taichung
Docker workshop 0507 Taichung
Paul Chao
 
Docker for developers z java
Docker for developers z java
andrzejsydor
 
手把手帶你學Docker 03042017
手把手帶你學Docker 03042017
Paul Chao
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and Production
Ben Hall
 
JDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
JDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
PROIDEA
 
Docker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google Cloud
Samuel Chow
 
Dockerizing a Symfony2 application
Dockerizing a Symfony2 application
Roman Rodomansky
 
Docker Container As A Service - Mix-IT 2016
Docker Container As A Service - Mix-IT 2016
Patrick Chanezon
 
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
Swaminathan Vetri
 
Docker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps Development
msyukor
 
Docker for Web Developers: A Sneak Peek
Docker for Web Developers: A Sneak Peek
msyukor
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Codemotion
 
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Karim Vaes
 
Docker Introduction and its Usage in Machine Learning
Docker Introduction and its Usage in Machine Learning
yogendra18
 
Introduction to Docker & CoreOS - Symfony User Group Cologne
Introduction to Docker & CoreOS - Symfony User Group Cologne
D
 
Ad

More from Ben Hall (20)

The Art Of Documentation - NDC Porto 2022
The Art Of Documentation - NDC Porto 2022
Ben Hall
 
The Art Of Documentation for Open Source Projects
The Art Of Documentation for Open Source Projects
Ben Hall
 
Three Years of Lessons Running Potentially Malicious Code Inside Containers
Three Years of Lessons Running Potentially Malicious Code Inside Containers
Ben Hall
 
Containers without docker
Containers without docker
Ben Hall
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetes
Ben Hall
 
The Art of Documentation and Readme.md for Open Source Projects
The Art of Documentation and Readme.md for Open Source Projects
Ben Hall
 
How Secure Are Docker Containers?
How Secure Are Docker Containers?
Ben Hall
 
The Challenges of Becoming Cloud Native
The Challenges of Becoming Cloud Native
Ben Hall
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container Service
Ben Hall
 
The art of documentation and readme.md
The art of documentation and readme.md
Ben Hall
 
Experimenting and Learning Kubernetes and Tensorflow
Experimenting and Learning Kubernetes and Tensorflow
Ben Hall
 
Real World Lessons on the Pain Points of Node.JS Application
Real World Lessons on the Pain Points of Node.JS Application
Ben Hall
 
Tips on solving E_TOO_MANY_THINGS_TO_LEARN with Kubernetes
Tips on solving E_TOO_MANY_THINGS_TO_LEARN with Kubernetes
Ben Hall
 
Deploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows Containers
Ben Hall
 
The How and Why of Windows containers
The How and Why of Windows containers
Ben Hall
 
Lessons from running potentially malicious code inside containers
Lessons from running potentially malicious code inside containers
Ben Hall
 
Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016
Ben Hall
 
Learning Patterns for the Overworked Developer
Learning Patterns for the Overworked Developer
Ben Hall
 
Real World Lessons on the Pain Points of Node.js Applications
Real World Lessons on the Pain Points of Node.js Applications
Ben Hall
 
Implementing Google's Material Design Guidelines
Implementing Google's Material Design Guidelines
Ben Hall
 
The Art Of Documentation - NDC Porto 2022
The Art Of Documentation - NDC Porto 2022
Ben Hall
 
The Art Of Documentation for Open Source Projects
The Art Of Documentation for Open Source Projects
Ben Hall
 
Three Years of Lessons Running Potentially Malicious Code Inside Containers
Three Years of Lessons Running Potentially Malicious Code Inside Containers
Ben Hall
 
Containers without docker
Containers without docker
Ben Hall
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetes
Ben Hall
 
The Art of Documentation and Readme.md for Open Source Projects
The Art of Documentation and Readme.md for Open Source Projects
Ben Hall
 
How Secure Are Docker Containers?
How Secure Are Docker Containers?
Ben Hall
 
The Challenges of Becoming Cloud Native
The Challenges of Becoming Cloud Native
Ben Hall
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container Service
Ben Hall
 
The art of documentation and readme.md
The art of documentation and readme.md
Ben Hall
 
Experimenting and Learning Kubernetes and Tensorflow
Experimenting and Learning Kubernetes and Tensorflow
Ben Hall
 
Real World Lessons on the Pain Points of Node.JS Application
Real World Lessons on the Pain Points of Node.JS Application
Ben Hall
 
Tips on solving E_TOO_MANY_THINGS_TO_LEARN with Kubernetes
Tips on solving E_TOO_MANY_THINGS_TO_LEARN with Kubernetes
Ben Hall
 
Deploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows Containers
Ben Hall
 
The How and Why of Windows containers
The How and Why of Windows containers
Ben Hall
 
Lessons from running potentially malicious code inside containers
Lessons from running potentially malicious code inside containers
Ben Hall
 
Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016
Ben Hall
 
Learning Patterns for the Overworked Developer
Learning Patterns for the Overworked Developer
Ben Hall
 
Real World Lessons on the Pain Points of Node.js Applications
Real World Lessons on the Pain Points of Node.js Applications
Ben Hall
 
Implementing Google's Material Design Guidelines
Implementing Google's Material Design Guidelines
Ben Hall
 

Recently uploaded (20)

Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
"Scaling in space and time with Temporal", Andriy Lupa.pdf
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
 
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
Daily Lesson Log MATATAG ICT TEchnology 8
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
"Scaling in space and time with Temporal", Andriy Lupa.pdf
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
 
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
Daily Lesson Log MATATAG ICT TEchnology 8
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 

Architecting .NET Applications for Docker and Container Based Deployments

Editor's Notes

  • #7: Microservices! Cloud!!
  • #48: for i in {49000..49900}; do VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port$i,tcp,,$i,,$i"; VBoxManage modifyvm "boot2docker-vm" --natpf1 "udp-port$i,udp,,$i,,$i"; done
  • #50: for i in {49000..49900}; do VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port$i,tcp,,$i,,$i"; VBoxManage modifyvm "boot2docker-vm" --natpf1 "udp-port$i,udp,,$i,,$i"; done
  • #51: for i in {49000..49900}; do VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port$i,tcp,,$i,,$i"; VBoxManage modifyvm "boot2docker-vm" --natpf1 "udp-port$i,udp,,$i,,$i"; done
  • #58: $ cd ~/SourceControl/HelloWorldVNext $ cat Dockerfile $ docker build -t benhall/aspnetvnext . $ docker run -d -t -i -p 5000:5000 -e SQLSERVER=192.168.0.4 benhall/aspnetvnext $ curl 192.168.59.103:5000 <h1>Hello from Razor!!<h1> <h2>From 95a28c090686</h2>
  • #101: $ cd ~/SourceControl/HelloWorldVNext $ cat Dockerfile $ docker build -t benhall/aspnetvnext . $ docker run -d -t -i -p 5000:5000 -e SQLSERVER=192.168.0.4 benhall/aspnetvnext $ curl 192.168.59.103:5000 <h1>Hello from Razor!!<h1> <h2>From 95a28c090686</h2>