SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
How to easy deploy app
into any cloud
IPEX Meetup Brno, 9.3.2016 1
Ladislav Prskavec
4 Twitter: @abtris
4 Blog: http://blog.prskavec.net
4 Talking and mentoring Docker since 2013
IPEX Meetup Brno, 9.3.2016 2
IPEX Meetup Brno, 9.3.2016 3
What's Docker?
IPEX Meetup Brno, 9.3.2016 4
Analogy
from
logistics
IPEX Meetup Brno, 9.3.2016 5
Goods, wares
IPEX Meetup Brno, 9.3.2016 6
Containers
IPEX Meetup Brno, 9.3.2016 7
Why Docker?
IPEX Meetup Brno, 9.3.2016 8
Fast
and
scalableIPEX Meetup Brno, 9.3.2016 9
Build once,
run anywhere
IPEX Meetup Brno, 9.3.2016 10
Configure once, run
anywhere
IPEX Meetup Brno, 9.3.2016 11
Example of using Docker
4 build documentation in Sphinx with latex support
4 executing code in many different programming
languages without requiring a single compiler or
script interpreter on your machine - docker exec
4 running gui app in docker at linux
IPEX Meetup Brno, 9.3.2016 12
Example of using Docker
4 development without install ing many tools at local machine
4 Vagrant, Otto dev
4 continues integration using docker
4 Jenkins, TravisCI, CircleCI
4 DevOps platform for build, deploy and manage apps
across any cloud
IPEX Meetup Brno, 9.3.2016 13
IPEX Meetup Brno, 9.3.2016 14
Docker Engine
IPEX Meetup Brno, 9.3.2016 15
Docker Engine
IPEX Meetup Brno, 9.3.2016 16
VM vs Docker
IPEX Meetup Brno, 9.3.2016 17
Containers and images
docker run hello-world
IPEX Meetup Brno, 9.3.2016 18
Docker Remote API
4 client & server in Docker
4 docker ps
4 docker build
4 docker push/pull
4 docker run/stop
4 docker inspect
IPEX Meetup Brno, 9.3.2016 19
Docker lifecycle
4 a build produces an immutable image
4 a container is as instance of the image
IPEX Meetup Brno, 9.3.2016 20
Docker lifecycle
IPEX Meetup Brno, 9.3.2016 21
Container lifecycle
IPEX Meetup Brno, 9.3.2016 22
Dockerfile
FROM alpine:3.3
RUN apk add --no-cache curl
ENV DOCKER_BUCKET get.docker.com
ENV DOCKER_VERSION 1.10.2
ENV DOCKER_SHA256 3fcac4f30e1c1a346c52ba33104175ae4ccbd9b9dbb947f56a0a32c9e401b768
RUN curl -fSL "https://${DOCKER_BUCKET}/builds/Linux/x86_64/docker-$DOCKER_VERSION" -o /usr/local/bin/docker 
&& echo "${DOCKER_SHA256} /usr/local/bin/docker" | sha256sum -c - 
&& chmod +x /usr/local/bin/docker
COPY docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["sh"]
IPEX Meetup Brno, 9.3.2016 23
DockerHub
IPEX Meetup Brno, 9.3.2016 24
IPEX Meetup Brno, 9.3.2016 25
Docker tools
IPEX Meetup Brno, 9.3.2016 26
Docker compose
4 defining and running multi-
container applications with
Docker
IPEX Meetup Brno, 9.3.2016 27
docker-compose.yml
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
links:
- redis
redis:
image: redis
IPEX Meetup Brno, 9.3.2016 28
Docker machine
4 Machine lets you create Docker hosts on your
computer, on cloud providers, and inside your own
data center.
4 part of Docker toolbox
4 replacement for boot2docker
IPEX Meetup Brno, 9.3.2016 29
Docker swarm
4 Docker Swarm is native clustering for
Docker.
4 Swarm serves the standard Docker
API, so any tool which already
communicates with a Docker daemon
can use Swarm to transparently scale
to multiple hosts: Dokku, Compose,
Krane, Flynn, Deis, DockerUI,
Shipyard, Drone, Jenkins... and, of
course, the Docker client itself.
IPEX Meetup Brno, 9.3.2016 30
Kitematic
4 desktop GUI for Docker
4 Mac and Windows only
IPEX Meetup Brno, 9.3.2016 31
Docker Trusted Registry (DTR)
4 private dedicated image registry
IPEX Meetup Brno, 9.3.2016 32
Docker Cloud
4 Deploy and scale any application to your cloud in
seconds, with just a few clicks
IPEX Meetup Brno, 9.3.2016 33
IPEX Meetup Brno, 9.3.2016 34
IPEX Meetup Brno, 9.3.2016 35
Docker isn't just Docker Inc
IPEX Meetup Brno, 9.3.2016 36
Alternatives for Docker Registry
4 Amazon EC2 Container Registry
4 Google Container Registry
4 Quay Enterprise
4 Artifactory
4 Nexus
4 Bitnami Container Images for Docker (beta)
IPEX Meetup Brno, 9.3.2016 37
Yours private registry
4 storage at S3
docker run 
-d 
-p 5000:5000 
--restart=always 
--name registry 
registry:2
IPEX Meetup Brno, 9.3.2016 38
Open Container ekosystem
IPEX Meetup Brno, 9.3.2016 39
IPEX Meetup Brno, 9.3.2016 40
IPEX Meetup Brno, 9.3.2016 41
wercker.yml example
# The container definition we want to use for developing our app
box: golang
# Defining the dev pipeline
dev:
steps:
- internal/watch:
code: |
go build ./...
./source
reload: true
IPEX Meetup Brno, 9.3.2016 42
IPEX Meetup Brno, 9.3.2016 43
Building a Go app for scratch
containers
build:
box: google/golang
steps:
# Test the project
- script:
name: go test
code: go test ./...
# Statically build the project
- script:
name: go build
code: CGO_ENABLED=0 go build -a -ldflags '-s' -installsuffix cgo -o app .
# Copy binary to a location that gets passed along to the deploy pipeline
- script:
name: copy binary
code: cp app "$WERCKER_OUTPUT_DIR"
IPEX Meetup Brno, 9.3.2016 44
Docker in AWS
4 Elastic Beanstalk
4 EC2 Container Service (ECS)
4 EC2 with Swarm, Mesos or Kubernetes
IPEX Meetup Brno, 9.3.2016 45
IPEX Meetup Brno, 9.3.2016 46
IPEX Meetup Brno, 9.3.2016 47
Apache Messos
4 Scalability to 10,000s of nodes
4 Fault-tolerant replicated master and slaves using ZooKeeper
4 Support for Docker containers
4 Native isolation between tasks with Linux Containers
4 Multi-resource scheduling (memory, CPU, disk, and ports)
4 Java, Python and C++ APIs for developing new parallel applications
4 Web UI for viewing cluster state
IPEX Meetup Brno, 9.3.2016 48
Notes at the end
4 don't use Docker as VM
4 build & production images
4 tag every image using in production (not just latest)
4 big difference between languages (NodeJS & Go)
4 don't use latest Docker versions in production
4 try use dockerlint for your Dockerfiles
IPEX Meetup Brno, 9.3.2016 49
Credits
4 boat-containers.jpg 2
4 computer-scrap.jpg [^3]
4 vm-vs-docker.png [^4]
4 docker logos [^5]
4 formule_one.jpg [^6]
2
https://www.flickr.com/photos/41864721@N00/3451530961/
[^3]: https://www.flickr.com/photos/7362086@N02/2019666131/
[^4]: http://www.jayway.com/wp-content/uploads/2015/03/vm-vs-docker.png
[^5]: https://www.docker.com/brand-guidelines
IPEX Meetup Brno, 9.3.2016 50

Weitere ähnliche Inhalte

Was ist angesagt?

Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with dockerLalatendu Mohanty
 
Dockerizing stashboard - Docker meetup at Twilio
Dockerizing stashboard - Docker meetup at TwilioDockerizing stashboard - Docker meetup at Twilio
Dockerizing stashboard - Docker meetup at TwiliodotCloud
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetesBen Hall
 
Wordcamp Bratislava 2017 - Docker! Why?
Wordcamp Bratislava 2017 - Docker! Why?Wordcamp Bratislava 2017 - Docker! Why?
Wordcamp Bratislava 2017 - Docker! Why?Adam Štipák
 
Using docker to develop NAS applications
Using docker to develop NAS applicationsUsing docker to develop NAS applications
Using docker to develop NAS applicationsTerry Chen
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAdam Štipák
 
Using Containers for Continuous Integration and Continuous Delivery
Using Containers for Continuous Integration and Continuous DeliveryUsing Containers for Continuous Integration and Continuous Delivery
Using Containers for Continuous Integration and Continuous DeliveryCarlos Sanchez
 
手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇Philip Zheng
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Ruoshi Ling
 
Docker Workshop for beginner
Docker Workshop for beginnerDocker Workshop for beginner
Docker Workshop for beginnerJirayut Nimsaeng
 
Production FS: Adapt or die - Claudia Beresford & Tiago Scolar
Production FS: Adapt or die - Claudia Beresford & Tiago ScolarProduction FS: Adapt or die - Claudia Beresford & Tiago Scolar
Production FS: Adapt or die - Claudia Beresford & Tiago ScolarParis Container Day
 
LinuxKit and Moby, news from DockerCon 2017 - Austin,TX
LinuxKit and Moby, news from DockerCon 2017 - Austin,TXLinuxKit and Moby, news from DockerCon 2017 - Austin,TX
LinuxKit and Moby, news from DockerCon 2017 - Austin,TXDieter Reuter
 
Docker - 15 great Tutorials
Docker - 15 great TutorialsDocker - 15 great Tutorials
Docker - 15 great TutorialsJulien Barbier
 

Was ist angesagt? (20)

Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
 
Dockerizing stashboard - Docker meetup at Twilio
Dockerizing stashboard - Docker meetup at TwilioDockerizing stashboard - Docker meetup at Twilio
Dockerizing stashboard - Docker meetup at Twilio
 
RKT
RKTRKT
RKT
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
Dokku
DokkuDokku
Dokku
 
Wordcamp Bratislava 2017 - Docker! Why?
Wordcamp Bratislava 2017 - Docker! Why?Wordcamp Bratislava 2017 - Docker! Why?
Wordcamp Bratislava 2017 - Docker! Why?
 
Using docker to develop NAS applications
Using docker to develop NAS applicationsUsing docker to develop NAS applications
Using docker to develop NAS applications
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Using Containers for Continuous Integration and Continuous Delivery
Using Containers for Continuous Integration and Continuous DeliveryUsing Containers for Continuous Integration and Continuous Delivery
Using Containers for Continuous Integration and Continuous Delivery
 
Docker e git lab
Docker e git labDocker e git lab
Docker e git lab
 
Vagrant
VagrantVagrant
Vagrant
 
Docker linuxday 2015
Docker linuxday 2015Docker linuxday 2015
Docker linuxday 2015
 
手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨
 
Docker Workshop for beginner
Docker Workshop for beginnerDocker Workshop for beginner
Docker Workshop for beginner
 
Production FS: Adapt or die - Claudia Beresford & Tiago Scolar
Production FS: Adapt or die - Claudia Beresford & Tiago ScolarProduction FS: Adapt or die - Claudia Beresford & Tiago Scolar
Production FS: Adapt or die - Claudia Beresford & Tiago Scolar
 
LinuxKit and Moby, news from DockerCon 2017 - Austin,TX
LinuxKit and Moby, news from DockerCon 2017 - Austin,TXLinuxKit and Moby, news from DockerCon 2017 - Austin,TX
LinuxKit and Moby, news from DockerCon 2017 - Austin,TX
 
Docker - 15 great Tutorials
Docker - 15 great TutorialsDocker - 15 great Tutorials
Docker - 15 great Tutorials
 
Docker compose
Docker composeDocker compose
Docker compose
 
Docker & GitLab
Docker & GitLabDocker & GitLab
Docker & GitLab
 

Andere mochten auch

Datascript: Serverless Architetecture
Datascript: Serverless ArchitetectureDatascript: Serverless Architetecture
Datascript: Serverless ArchitetectureLadislav Prskavec
 
PragueJS meetups 30th anniversary
PragueJS meetups 30th anniversaryPragueJS meetups 30th anniversary
PragueJS meetups 30th anniversaryLadislav Prskavec
 
Jenna Blues Art Time
Jenna   Blues Art TimeJenna   Blues Art Time
Jenna Blues Art TimeIntrist
 
Exploiting Deserialization Vulnerabilities in Java
Exploiting Deserialization Vulnerabilities in JavaExploiting Deserialization Vulnerabilities in Java
Exploiting Deserialization Vulnerabilities in JavaCODE WHITE GmbH
 
Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015Christian Heilmann
 

Andere mochten auch (10)

Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Datascript: Serverless Architetecture
Datascript: Serverless ArchitetectureDatascript: Serverless Architetecture
Datascript: Serverless Architetecture
 
PragueJS meetups 30th anniversary
PragueJS meetups 30th anniversaryPragueJS meetups 30th anniversary
PragueJS meetups 30th anniversary
 
CI and CD
CI and CDCI and CD
CI and CD
 
CI and CD
CI and CDCI and CD
CI and CD
 
Jenna Blues Art Time
Jenna   Blues Art TimeJenna   Blues Art Time
Jenna Blues Art Time
 
SCM History
SCM HistorySCM History
SCM History
 
SRE in Startup
SRE in StartupSRE in Startup
SRE in Startup
 
Exploiting Deserialization Vulnerabilities in Java
Exploiting Deserialization Vulnerabilities in JavaExploiting Deserialization Vulnerabilities in Java
Exploiting Deserialization Vulnerabilities in Java
 
Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015
 

Ähnlich wie How to easy deploy app into any cloud

Docker Container As A Service - Mix-IT 2016
Docker Container As A Service - Mix-IT 2016Docker Container As A Service - Mix-IT 2016
Docker Container As A Service - Mix-IT 2016Patrick Chanezon
 
From Docker to Production - ZendCon 2016
From Docker to Production - ZendCon 2016From Docker to Production - ZendCon 2016
From Docker to Production - ZendCon 2016Chris Tankersley
 
Docker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, BonnDocker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, BonnDaniel Nüst
 
BBL Premiers pas avec Docker
BBL Premiers pas avec DockerBBL Premiers pas avec Docker
BBL Premiers pas avec Dockerkanedafromparis
 
DevNet Associate : Python introduction
DevNet Associate : Python introductionDevNet Associate : Python introduction
DevNet Associate : Python introductionJoel W. King
 
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with RancherAzure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with RancherKarim Vaes
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsBen Hall
 
Docker Mentorweek beginner workshop notes
Docker Mentorweek beginner workshop notesDocker Mentorweek beginner workshop notes
Docker Mentorweek beginner workshop notesSreenivas Makam
 
Dockerize Your Web Application Stack - Salman El Farisi
Dockerize Your Web Application Stack -  Salman El FarisiDockerize Your Web Application Stack -  Salman El Farisi
Dockerize Your Web Application Stack - Salman El FarisiDevOpsDaysJKT
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안양재동 코드랩
 
Docker module 1
Docker module 1Docker module 1
Docker module 1Liang Bo
 
Ship python apps with docker!
Ship python apps with docker!Ship python apps with docker!
Ship python apps with docker!Rasheed Waraich
 
20170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 201720170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 2017Takayoshi Tanaka
 
Be a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the TradeBe a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the TradeDocker, Inc.
 
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Radulescu Adina-Valentina
 
Be a happier developer with Docker: Tricks of the trade
Be a happier developer with Docker: Tricks of the tradeBe a happier developer with Docker: Tricks of the trade
Be a happier developer with Docker: Tricks of the tradeNicola Paolucci
 
Dev with Docker WCPHX 2019
Dev with Docker WCPHX 2019Dev with Docker WCPHX 2019
Dev with Docker WCPHX 2019Maura Teal
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandTroublemaker Khunpech
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersRyan Hodgin
 
DockerCon 2016 Seattle Recap
DockerCon 2016 Seattle RecapDockerCon 2016 Seattle Recap
DockerCon 2016 Seattle RecapPhilipp Garbe
 

Ähnlich wie How to easy deploy app into any cloud (20)

Docker Container As A Service - Mix-IT 2016
Docker Container As A Service - Mix-IT 2016Docker Container As A Service - Mix-IT 2016
Docker Container As A Service - Mix-IT 2016
 
From Docker to Production - ZendCon 2016
From Docker to Production - ZendCon 2016From Docker to Production - ZendCon 2016
From Docker to Production - ZendCon 2016
 
Docker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, BonnDocker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, Bonn
 
BBL Premiers pas avec Docker
BBL Premiers pas avec DockerBBL Premiers pas avec Docker
BBL Premiers pas avec Docker
 
DevNet Associate : Python introduction
DevNet Associate : Python introductionDevNet Associate : Python introduction
DevNet Associate : Python introduction
 
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with RancherAzure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
 
Docker Mentorweek beginner workshop notes
Docker Mentorweek beginner workshop notesDocker Mentorweek beginner workshop notes
Docker Mentorweek beginner workshop notes
 
Dockerize Your Web Application Stack - Salman El Farisi
Dockerize Your Web Application Stack -  Salman El FarisiDockerize Your Web Application Stack -  Salman El Farisi
Dockerize Your Web Application Stack - Salman El Farisi
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
Ship python apps with docker!
Ship python apps with docker!Ship python apps with docker!
Ship python apps with docker!
 
20170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 201720170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 2017
 
Be a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the TradeBe a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the Trade
 
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
 
Be a happier developer with Docker: Tricks of the trade
Be a happier developer with Docker: Tricks of the tradeBe a happier developer with Docker: Tricks of the trade
Be a happier developer with Docker: Tricks of the trade
 
Dev with Docker WCPHX 2019
Dev with Docker WCPHX 2019Dev with Docker WCPHX 2019
Dev with Docker WCPHX 2019
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 
DockerCon 2016 Seattle Recap
DockerCon 2016 Seattle RecapDockerCon 2016 Seattle Recap
DockerCon 2016 Seattle Recap
 

Mehr von Ladislav Prskavec

Mehr von Ladislav Prskavec (20)

SRE in Apiary
SRE in ApiarySRE in Apiary
SRE in Apiary
 
Modern Web Architecture<br>based on JS, API and Markup
Modern Web Architecture<br>based on JS, API and MarkupModern Web Architecture<br>based on JS, API and Markup
Modern Web Architecture<br>based on JS, API and Markup
 
How you can kill Wordpress!
How you can kill Wordpress!How you can kill Wordpress!
How you can kill Wordpress!
 
AWS Elastic Container Service
AWS Elastic Container ServiceAWS Elastic Container Service
AWS Elastic Container Service
 
Comparison nodejs frameworks using Polls API
Comparison nodejs frameworks using Polls APIComparison nodejs frameworks using Polls API
Comparison nodejs frameworks using Polls API
 
Docker Elastic Beanstalk
Docker Elastic BeanstalkDocker Elastic Beanstalk
Docker Elastic Beanstalk
 
Docker včera, dnes a zítra
Docker včera, dnes a zítraDocker včera, dnes a zítra
Docker včera, dnes a zítra
 
Tessel is a microcontroller that runs JavaScript.
Tessel is a microcontroller that runs JavaScript.Tessel is a microcontroller that runs JavaScript.
Tessel is a microcontroller that runs JavaScript.
 
Docker.io
Docker.ioDocker.io
Docker.io
 
Docker.io
Docker.ioDocker.io
Docker.io
 
AngularJS
AngularJSAngularJS
AngularJS
 
Firebase and AngularJS
Firebase and AngularJSFirebase and AngularJS
Firebase and AngularJS
 
AngularJS at PyVo
AngularJS at PyVoAngularJS at PyVo
AngularJS at PyVo
 
Tvorba javascriptové aplikace v AngularJS pomocí Apiary.io
Tvorba javascriptové aplikace v AngularJS pomocí Apiary.ioTvorba javascriptové aplikace v AngularJS pomocí Apiary.io
Tvorba javascriptové aplikace v AngularJS pomocí Apiary.io
 
Postavte zeď mezi svoje vývojáře
Postavte zeď mezi svoje vývojářePostavte zeď mezi svoje vývojáře
Postavte zeď mezi svoje vývojáře
 
Grunt.js
Grunt.jsGrunt.js
Grunt.js
 
Javascript Continues Integration in Jenkins with AngularJS
Javascript Continues Integration in Jenkins with AngularJSJavascript Continues Integration in Jenkins with AngularJS
Javascript Continues Integration in Jenkins with AngularJS
 
Deployment prakticky
Deployment praktickyDeployment prakticky
Deployment prakticky
 
Barcamp2010
Barcamp2010Barcamp2010
Barcamp2010
 
SVN základy
SVN základySVN základy
SVN základy
 

Kürzlich hochgeladen

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Kürzlich hochgeladen (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

How to easy deploy app into any cloud

  • 1. How to easy deploy app into any cloud IPEX Meetup Brno, 9.3.2016 1
  • 2. Ladislav Prskavec 4 Twitter: @abtris 4 Blog: http://blog.prskavec.net 4 Talking and mentoring Docker since 2013 IPEX Meetup Brno, 9.3.2016 2
  • 3. IPEX Meetup Brno, 9.3.2016 3
  • 4. What's Docker? IPEX Meetup Brno, 9.3.2016 4
  • 6. Goods, wares IPEX Meetup Brno, 9.3.2016 6
  • 8. Why Docker? IPEX Meetup Brno, 9.3.2016 8
  • 10. Build once, run anywhere IPEX Meetup Brno, 9.3.2016 10
  • 11. Configure once, run anywhere IPEX Meetup Brno, 9.3.2016 11
  • 12. Example of using Docker 4 build documentation in Sphinx with latex support 4 executing code in many different programming languages without requiring a single compiler or script interpreter on your machine - docker exec 4 running gui app in docker at linux IPEX Meetup Brno, 9.3.2016 12
  • 13. Example of using Docker 4 development without install ing many tools at local machine 4 Vagrant, Otto dev 4 continues integration using docker 4 Jenkins, TravisCI, CircleCI 4 DevOps platform for build, deploy and manage apps across any cloud IPEX Meetup Brno, 9.3.2016 13
  • 14. IPEX Meetup Brno, 9.3.2016 14
  • 15. Docker Engine IPEX Meetup Brno, 9.3.2016 15
  • 16. Docker Engine IPEX Meetup Brno, 9.3.2016 16
  • 17. VM vs Docker IPEX Meetup Brno, 9.3.2016 17
  • 18. Containers and images docker run hello-world IPEX Meetup Brno, 9.3.2016 18
  • 19. Docker Remote API 4 client & server in Docker 4 docker ps 4 docker build 4 docker push/pull 4 docker run/stop 4 docker inspect IPEX Meetup Brno, 9.3.2016 19
  • 20. Docker lifecycle 4 a build produces an immutable image 4 a container is as instance of the image IPEX Meetup Brno, 9.3.2016 20
  • 21. Docker lifecycle IPEX Meetup Brno, 9.3.2016 21
  • 22. Container lifecycle IPEX Meetup Brno, 9.3.2016 22
  • 23. Dockerfile FROM alpine:3.3 RUN apk add --no-cache curl ENV DOCKER_BUCKET get.docker.com ENV DOCKER_VERSION 1.10.2 ENV DOCKER_SHA256 3fcac4f30e1c1a346c52ba33104175ae4ccbd9b9dbb947f56a0a32c9e401b768 RUN curl -fSL "https://${DOCKER_BUCKET}/builds/Linux/x86_64/docker-$DOCKER_VERSION" -o /usr/local/bin/docker && echo "${DOCKER_SHA256} /usr/local/bin/docker" | sha256sum -c - && chmod +x /usr/local/bin/docker COPY docker-entrypoint.sh /usr/local/bin/ ENTRYPOINT ["docker-entrypoint.sh"] CMD ["sh"] IPEX Meetup Brno, 9.3.2016 23
  • 25. IPEX Meetup Brno, 9.3.2016 25
  • 26. Docker tools IPEX Meetup Brno, 9.3.2016 26
  • 27. Docker compose 4 defining and running multi- container applications with Docker IPEX Meetup Brno, 9.3.2016 27
  • 28. docker-compose.yml web: build: . ports: - "5000:5000" volumes: - .:/code links: - redis redis: image: redis IPEX Meetup Brno, 9.3.2016 28
  • 29. Docker machine 4 Machine lets you create Docker hosts on your computer, on cloud providers, and inside your own data center. 4 part of Docker toolbox 4 replacement for boot2docker IPEX Meetup Brno, 9.3.2016 29
  • 30. Docker swarm 4 Docker Swarm is native clustering for Docker. 4 Swarm serves the standard Docker API, so any tool which already communicates with a Docker daemon can use Swarm to transparently scale to multiple hosts: Dokku, Compose, Krane, Flynn, Deis, DockerUI, Shipyard, Drone, Jenkins... and, of course, the Docker client itself. IPEX Meetup Brno, 9.3.2016 30
  • 31. Kitematic 4 desktop GUI for Docker 4 Mac and Windows only IPEX Meetup Brno, 9.3.2016 31
  • 32. Docker Trusted Registry (DTR) 4 private dedicated image registry IPEX Meetup Brno, 9.3.2016 32
  • 33. Docker Cloud 4 Deploy and scale any application to your cloud in seconds, with just a few clicks IPEX Meetup Brno, 9.3.2016 33
  • 34. IPEX Meetup Brno, 9.3.2016 34
  • 35. IPEX Meetup Brno, 9.3.2016 35
  • 36. Docker isn't just Docker Inc IPEX Meetup Brno, 9.3.2016 36
  • 37. Alternatives for Docker Registry 4 Amazon EC2 Container Registry 4 Google Container Registry 4 Quay Enterprise 4 Artifactory 4 Nexus 4 Bitnami Container Images for Docker (beta) IPEX Meetup Brno, 9.3.2016 37
  • 38. Yours private registry 4 storage at S3 docker run -d -p 5000:5000 --restart=always --name registry registry:2 IPEX Meetup Brno, 9.3.2016 38
  • 39. Open Container ekosystem IPEX Meetup Brno, 9.3.2016 39
  • 40. IPEX Meetup Brno, 9.3.2016 40
  • 41. IPEX Meetup Brno, 9.3.2016 41
  • 42. wercker.yml example # The container definition we want to use for developing our app box: golang # Defining the dev pipeline dev: steps: - internal/watch: code: | go build ./... ./source reload: true IPEX Meetup Brno, 9.3.2016 42
  • 43. IPEX Meetup Brno, 9.3.2016 43
  • 44. Building a Go app for scratch containers build: box: google/golang steps: # Test the project - script: name: go test code: go test ./... # Statically build the project - script: name: go build code: CGO_ENABLED=0 go build -a -ldflags '-s' -installsuffix cgo -o app . # Copy binary to a location that gets passed along to the deploy pipeline - script: name: copy binary code: cp app "$WERCKER_OUTPUT_DIR" IPEX Meetup Brno, 9.3.2016 44
  • 45. Docker in AWS 4 Elastic Beanstalk 4 EC2 Container Service (ECS) 4 EC2 with Swarm, Mesos or Kubernetes IPEX Meetup Brno, 9.3.2016 45
  • 46. IPEX Meetup Brno, 9.3.2016 46
  • 47. IPEX Meetup Brno, 9.3.2016 47
  • 48. Apache Messos 4 Scalability to 10,000s of nodes 4 Fault-tolerant replicated master and slaves using ZooKeeper 4 Support for Docker containers 4 Native isolation between tasks with Linux Containers 4 Multi-resource scheduling (memory, CPU, disk, and ports) 4 Java, Python and C++ APIs for developing new parallel applications 4 Web UI for viewing cluster state IPEX Meetup Brno, 9.3.2016 48
  • 49. Notes at the end 4 don't use Docker as VM 4 build & production images 4 tag every image using in production (not just latest) 4 big difference between languages (NodeJS & Go) 4 don't use latest Docker versions in production 4 try use dockerlint for your Dockerfiles IPEX Meetup Brno, 9.3.2016 49
  • 50. Credits 4 boat-containers.jpg 2 4 computer-scrap.jpg [^3] 4 vm-vs-docker.png [^4] 4 docker logos [^5] 4 formule_one.jpg [^6] 2 https://www.flickr.com/photos/41864721@N00/3451530961/ [^3]: https://www.flickr.com/photos/7362086@N02/2019666131/ [^4]: http://www.jayway.com/wp-content/uploads/2015/03/vm-vs-docker.png [^5]: https://www.docker.com/brand-guidelines IPEX Meetup Brno, 9.3.2016 50