SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Docker at DigitalOcean
Tommy Murphy
why
FROM ruby:2.2.0
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
ADD . /myapp
FROM ruby:2.2.0
Not supported on https://hub.docker.com/_/ruby/
The following packages will be upgraded:
curl dpkg dpkg-dev ghostscript gir1.2-gdkpixbuf-2.0 git git-man krb5-multidev
libcups2 libcupsfilters1 libcupsimage2 libcurl3 libcurl3-gnutls
libcurl4-openssl-dev libdpkg-perl libexpat1 libexpat1-dev libfreetype6
libfreetype6-dev libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common
libgdk-pixbuf2.0-dev libgnutls-deb0-28 libgs9 libgs9-common libgssapi-krb5-2
libgssrpc4 libicu52 libk5crypto3 libkadm5clnt-mit9 libkadm5srv-mit9 libkdb5-7
libkrb5-3 libkrb5support0 libldap-2.4-2 libmysqlclient-dev libmysqlclient18
libpng12-0 libpng12-dev libpq-dev libpq5 libsasl2-2 libsasl2-modules-db
libsqlite3-0 libsqlite3-dev libssl-dev libssl-doc libssl1.0.0 libsvn1
libtasn1-6 libwmf-dev libwmf0.2-7 libxml2 libxml2-dev linux-libc-dev mercurial
mercurial-common mysql-common openssh-client openssl perl perl-base
perl-modules subversion
64 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 47.6 MB of archives.
After this operation, 199 kB of additional disk space will be used.
FROM ruby:2.2.0
openssl (1.0.1k-3+deb8u2) jessie-security; urgency=medium
* Fix CVE-2015-3194
* Fix CVE-2015-3195
* Fix CVE-2015-3196
-- Kurt Roeckx <kurt@roeckx.be> Thu, 03 Dec 2015 18:39:46 +0100
openssl (1.0.1k-3+deb8u1) jessie-security; urgency=medium
* Fix CVE-2015-1791
* Fix CVE-2015-1792
* Fix CVE-2015-1789
* Fix CVE-2015-1790
* Fix CVE-2015-1788
* CVE-2015-4000: Have minimum of 768 bit for DH
-- Kurt Roeckx <kurt@roeckx.be> Thu, 11 Jun 2015 20:55:20 +0200
openssl (1.0.1k-3) unstable; urgency=medium
* Drop patch 0003-Free-up-passed-ASN.1-structure-if-reused.patch, it at
least breaks voms, possibly others. (Closes: #781081)
-- Kurt Roeckx <kurt@roeckx.be> Tue, 24 Mar 2015 21:34:00 +0100
openssl (1.0.1k-2) unstable; urgency=high
* Fix CVE-2015-0286
* Fix CVE-2015-0287
* Fix CVE-2015-0289
* Fix CVE-2015-0293 (not affected, SSLv2 disabled)
* Fix CVE-2015-0209
* Fix CVE-2015-0288
* Remove export ciphers from DEFAULT.
* Make DTLS always act as if read_ahead is set. This fixes a regression
introduce by the fix for CVE-2014-3571. (Closes: #775502)
-- Kurt Roeckx <kurt@roeckx.be> Fri, 20 Mar 2015 18:24:15 +0100
Even supported images might not have the latest updates
FROM ruby:2.2.0
RUN apt-get update -qq && 
grep security /etc/apt/sources.list > /tmp/security.list && 
apt-get upgrade -y -o Dir::Etc::Sourcelist=/tmp/security.list
FROM ruby:2.2.0
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
ADD . /myapp
RUN bundle install
gem 'blah',
git: 'git@github.com:blah/blah.git',
ref: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc'
don’t commit secrets.
gem 'blah',
git: 'https://<token>:x-oauth-basic@github.com/blah/blah.git',
ref: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc'
ADD ssh-private-key /root/.ssh/
RUN bundle install
● share ssh-agent socket with docker build
● bundle install (as developer or CI identity) before build
● vendor gems in git
bundle package --all
FROM ruby:2.2.0
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
ADD . /myapp
ADD . /myapp
ROOOOOOOT
ADD . /myapp
ROOOOOOOT
FROM ruby:2.2.0
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
ADD . /myapp
what to run?
myapp_web_1 | [2014-01-17 17:16:29] INFO WEBrick 1.3.1
configuration
environment > file config
figaro, dotenv
development:
adapter: mysql2
database: foo
username: <%= Config.DATABASE_USERNAME %>
password: <%= Config.DATABASE_PASSWORD %>
host: <%= Config.DATABASE_HOST %>
test:
adapter: mysql2
database: foo_test
username: <%= Config.DATABASE_USERNAME %>
password: <%= Config.DATABASE_PASSWORD %>
host: <%= Config.DATABASE_HOST %>
DNS based values
<region>.do.co
config everything
Redis.new(:host => "10.0.1.1")
Redis.new(:url => "redis://:p4ssw0rd@10.0.1.1:6380/15")
www.digitalocean.com/company/careers
@tam7t
Thanks!

Contenu connexe

Tendances

OpenShift4 Installation by UPI on kvm
OpenShift4 Installation by UPI on kvmOpenShift4 Installation by UPI on kvm
OpenShift4 Installation by UPI on kvmJooho Lee
 
Quay 3.3 installation
Quay 3.3 installationQuay 3.3 installation
Quay 3.3 installationJooho Lee
 
Building cloud native network functions - outcomes from the gw-tester nsm imp...
Building cloud native network functions - outcomes from the gw-tester nsm imp...Building cloud native network functions - outcomes from the gw-tester nsm imp...
Building cloud native network functions - outcomes from the gw-tester nsm imp...Victor Morales
 
A little systemtap
A little systemtapA little systemtap
A little systemtapyang bingwu
 
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Simon Boulet
 
Docker cr ineta-20150601
Docker cr ineta-20150601Docker cr ineta-20150601
Docker cr ineta-20150601chrisortman
 
OpenStack for Centos
OpenStack for CentosOpenStack for Centos
OpenStack for CentosChandan Kumar
 
Deploying .NET applications with the Nix package manager
Deploying .NET applications with the Nix package managerDeploying .NET applications with the Nix package manager
Deploying .NET applications with the Nix package managerSander van der Burg
 
How to contribute Apache CloudStack
How to contribute Apache CloudStackHow to contribute Apache CloudStack
How to contribute Apache CloudStackGo Chiba
 
Magento & Cloud - Korostelov Avexey
Magento & Cloud - Korostelov AvexeyMagento & Cloud - Korostelov Avexey
Magento & Cloud - Korostelov AvexeyMagecom UK Limited
 
Dockerize everything TopConf Tallinn
Dockerize everything TopConf TallinnDockerize everything TopConf Tallinn
Dockerize everything TopConf TallinnThomas Einwaller
 
Kyua and Jenkins: Testing Framework for BSD
Kyua and Jenkins: Testing Framework for BSDKyua and Jenkins: Testing Framework for BSD
Kyua and Jenkins: Testing Framework for BSDCraig Rodrigues
 
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2Quick Start Guide using Virtuozzo 7 (β) on AWS EC2
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2Kentaro Ebisawa
 
Demystifying Docker for Data Scientists by Shaheen
Demystifying Docker for Data Scientists by ShaheenDemystifying Docker for Data Scientists by Shaheen
Demystifying Docker for Data Scientists by ShaheenShaheen Gauher
 
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇Philip Zheng
 

Tendances (20)

Everything as a code
Everything as a codeEverything as a code
Everything as a code
 
OpenShift4 Installation by UPI on kvm
OpenShift4 Installation by UPI on kvmOpenShift4 Installation by UPI on kvm
OpenShift4 Installation by UPI on kvm
 
Quay 3.3 installation
Quay 3.3 installationQuay 3.3 installation
Quay 3.3 installation
 
Building cloud native network functions - outcomes from the gw-tester nsm imp...
Building cloud native network functions - outcomes from the gw-tester nsm imp...Building cloud native network functions - outcomes from the gw-tester nsm imp...
Building cloud native network functions - outcomes from the gw-tester nsm imp...
 
A little systemtap
A little systemtapA little systemtap
A little systemtap
 
Make Accelerator Pluggable for Container Engine
Make Accelerator Pluggable for Container EngineMake Accelerator Pluggable for Container Engine
Make Accelerator Pluggable for Container Engine
 
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
 
Docker cr ineta-20150601
Docker cr ineta-20150601Docker cr ineta-20150601
Docker cr ineta-20150601
 
OpenStack for Centos
OpenStack for CentosOpenStack for Centos
OpenStack for Centos
 
Puppet and Openshift
Puppet and OpenshiftPuppet and Openshift
Puppet and Openshift
 
Deploying .NET applications with the Nix package manager
Deploying .NET applications with the Nix package managerDeploying .NET applications with the Nix package manager
Deploying .NET applications with the Nix package manager
 
How to contribute Apache CloudStack
How to contribute Apache CloudStackHow to contribute Apache CloudStack
How to contribute Apache CloudStack
 
Magento & Cloud - Korostelov Avexey
Magento & Cloud - Korostelov AvexeyMagento & Cloud - Korostelov Avexey
Magento & Cloud - Korostelov Avexey
 
Dockerize everything TopConf Tallinn
Dockerize everything TopConf TallinnDockerize everything TopConf Tallinn
Dockerize everything TopConf Tallinn
 
Kyua and Jenkins: Testing Framework for BSD
Kyua and Jenkins: Testing Framework for BSDKyua and Jenkins: Testing Framework for BSD
Kyua and Jenkins: Testing Framework for BSD
 
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2Quick Start Guide using Virtuozzo 7 (β) on AWS EC2
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2
 
App container rkt
App container rktApp container rkt
App container rkt
 
Demystifying Docker for Data Scientists by Shaheen
Demystifying Docker for Data Scientists by ShaheenDemystifying Docker for Data Scientists by Shaheen
Demystifying Docker for Data Scientists by Shaheen
 
Build & test Apache Hawq
Build & test Apache Hawq Build & test Apache Hawq
Build & test Apache Hawq
 
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇
 

En vedette

上海世博会开幕式精彩剪辑
上海世博会开幕式精彩剪辑上海世博会开幕式精彩剪辑
上海世博会开幕式精彩剪辑LINWEIYUAN
 
Tarea3 de informatiaca aplicada a la educacion
Tarea3 de informatiaca aplicada a la educacionTarea3 de informatiaca aplicada a la educacion
Tarea3 de informatiaca aplicada a la educaciondilenis luisa calvajal
 
Gestor proyecto educativo_tic el universo
Gestor proyecto educativo_tic el universoGestor proyecto educativo_tic el universo
Gestor proyecto educativo_tic el universoElder Gutierrez
 
Interpretación de gráficas
Interpretación de gráficasInterpretación de gráficas
Interpretación de gráficasMorgan Romero
 
Plantilla 1 para cuento
Plantilla 1 para cuentoPlantilla 1 para cuento
Plantilla 1 para cuentoProfeyessenia
 
Swedbank företagspresentation, 30 juni 2016
Swedbank företagspresentation, 30 juni 2016Swedbank företagspresentation, 30 juni 2016
Swedbank företagspresentation, 30 juni 2016Swedbank
 
SafeHippo Showcase
SafeHippo ShowcaseSafeHippo Showcase
SafeHippo ShowcaseGuy Thomas
 
Resume Michael Preston Allen
Resume Michael Preston AllenResume Michael Preston Allen
Resume Michael Preston AllenPreston Allen
 
How the hell do I run my microservices in production, and will it scale?
How the hell do I run my microservices in production, and will it scale?How the hell do I run my microservices in production, and will it scale?
How the hell do I run my microservices in production, and will it scale?Cloud 66
 

En vedette (13)

Cds admit card
Cds admit cardCds admit card
Cds admit card
 
Bosch Internship
Bosch InternshipBosch Internship
Bosch Internship
 
上海世博会开幕式精彩剪辑
上海世博会开幕式精彩剪辑上海世博会开幕式精彩剪辑
上海世博会开幕式精彩剪辑
 
Tarea3 de informatiaca aplicada a la educacion
Tarea3 de informatiaca aplicada a la educacionTarea3 de informatiaca aplicada a la educacion
Tarea3 de informatiaca aplicada a la educacion
 
El pidestal
El pidestalEl pidestal
El pidestal
 
Gestor proyecto educativo_tic el universo
Gestor proyecto educativo_tic el universoGestor proyecto educativo_tic el universo
Gestor proyecto educativo_tic el universo
 
Interpretación de gráficas
Interpretación de gráficasInterpretación de gráficas
Interpretación de gráficas
 
Plantilla 1 para cuento
Plantilla 1 para cuentoPlantilla 1 para cuento
Plantilla 1 para cuento
 
Swedbank företagspresentation, 30 juni 2016
Swedbank företagspresentation, 30 juni 2016Swedbank företagspresentation, 30 juni 2016
Swedbank företagspresentation, 30 juni 2016
 
Cuando podíamos VIVIR
Cuando podíamos VIVIRCuando podíamos VIVIR
Cuando podíamos VIVIR
 
SafeHippo Showcase
SafeHippo ShowcaseSafeHippo Showcase
SafeHippo Showcase
 
Resume Michael Preston Allen
Resume Michael Preston AllenResume Michael Preston Allen
Resume Michael Preston Allen
 
How the hell do I run my microservices in production, and will it scale?
How the hell do I run my microservices in production, and will it scale?How the hell do I run my microservices in production, and will it scale?
How the hell do I run my microservices in production, and will it scale?
 

Similaire à Docker at Digital Ocean

OPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build TutorialOPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build TutorialDalton Valadares
 
Streamline your development environment with docker
Streamline your development environment with dockerStreamline your development environment with docker
Streamline your development environment with dockerGiacomo Bagnoli
 
Ruby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionRuby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionFabio Kung
 
Git lab installation guide
Git lab installation guideGit lab installation guide
Git lab installation guideRaiful Hasan
 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPDana Luther
 
Gitlab installation
Gitlab installationGitlab installation
Gitlab installationRaiful Hasan
 
Cacti安装手册
Cacti安装手册Cacti安装手册
Cacti安装手册Yiwei Ma
 
Использование Docker в CI / Александр Акбашев (HERE Technologies)
Использование Docker в CI / Александр Акбашев (HERE Technologies)Использование Docker в CI / Александр Акбашев (HERE Technologies)
Использование Docker в CI / Александр Акбашев (HERE Technologies)Ontico
 
Qt native built for raspberry zero
Qt native built for  raspberry zeroQt native built for  raspberry zero
Qt native built for raspberry zeroSoheilSabzevari2
 
Rust & Python : Python WA October meetup
Rust & Python : Python WA October meetupRust & Python : Python WA October meetup
Rust & Python : Python WA October meetupJohn Vandenberg
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_trainingvideos
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis OverviewLeo Lorieri
 
DeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerDeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerSteve Smith
 
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...Puppet
 
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package managementAcácio Oliveira
 
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package managementAcácio Oliveira
 
2.5 use rpm and yum package management
2.5 use rpm and yum package management2.5 use rpm and yum package management
2.5 use rpm and yum package managementAcácio Oliveira
 
Docker 활용법: dumpdocker
Docker 활용법: dumpdockerDocker 활용법: dumpdocker
Docker 활용법: dumpdockerJaehwa Park
 
5 Things I Wish I Knew About Gitlab CI
5 Things I Wish I Knew About Gitlab CI5 Things I Wish I Knew About Gitlab CI
5 Things I Wish I Knew About Gitlab CISebastian Witowski
 

Similaire à Docker at Digital Ocean (20)

OPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build TutorialOPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build Tutorial
 
Streamline your development environment with docker
Streamline your development environment with dockerStreamline your development environment with docker
Streamline your development environment with docker
 
Ruby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionRuby and Rails Packaging to Production
Ruby and Rails Packaging to Production
 
Git lab installation guide
Git lab installation guideGit lab installation guide
Git lab installation guide
 
170112
170112170112
170112
 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
 
Gitlab installation
Gitlab installationGitlab installation
Gitlab installation
 
Cacti安装手册
Cacti安装手册Cacti安装手册
Cacti安装手册
 
Использование Docker в CI / Александр Акбашев (HERE Technologies)
Использование Docker в CI / Александр Акбашев (HERE Technologies)Использование Docker в CI / Александр Акбашев (HERE Technologies)
Использование Docker в CI / Александр Акбашев (HERE Technologies)
 
Qt native built for raspberry zero
Qt native built for  raspberry zeroQt native built for  raspberry zero
Qt native built for raspberry zero
 
Rust & Python : Python WA October meetup
Rust & Python : Python WA October meetupRust & Python : Python WA October meetup
Rust & Python : Python WA October meetup
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
 
DeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerDeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to Docker
 
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
 
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management
 
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management
 
2.5 use rpm and yum package management
2.5 use rpm and yum package management2.5 use rpm and yum package management
2.5 use rpm and yum package management
 
Docker 활용법: dumpdocker
Docker 활용법: dumpdockerDocker 활용법: dumpdocker
Docker 활용법: dumpdocker
 
5 Things I Wish I Knew About Gitlab CI
5 Things I Wish I Knew About Gitlab CI5 Things I Wish I Knew About Gitlab CI
5 Things I Wish I Knew About Gitlab CI
 

Plus de Cloud 66

An introduction to Starter (Updated Content)
An introduction to Starter (Updated Content) An introduction to Starter (Updated Content)
An introduction to Starter (Updated Content) Cloud 66
 
Cloud66 workshop handouts
Cloud66 workshop handoutsCloud66 workshop handouts
Cloud66 workshop handoutsCloud 66
 
Workshop presentation
Workshop presentationWorkshop presentation
Workshop presentationCloud 66
 
An introduction to habitus
An introduction to habitusAn introduction to habitus
An introduction to habitusCloud 66
 
An introduction to starter
An introduction to starterAn introduction to starter
An introduction to starterCloud 66
 
Introduction to the Container Networking and Security
Introduction to the Container Networking and SecurityIntroduction to the Container Networking and Security
Introduction to the Container Networking and SecurityCloud 66
 

Plus de Cloud 66 (6)

An introduction to Starter (Updated Content)
An introduction to Starter (Updated Content) An introduction to Starter (Updated Content)
An introduction to Starter (Updated Content)
 
Cloud66 workshop handouts
Cloud66 workshop handoutsCloud66 workshop handouts
Cloud66 workshop handouts
 
Workshop presentation
Workshop presentationWorkshop presentation
Workshop presentation
 
An introduction to habitus
An introduction to habitusAn introduction to habitus
An introduction to habitus
 
An introduction to starter
An introduction to starterAn introduction to starter
An introduction to starter
 
Introduction to the Container Networking and Security
Introduction to the Container Networking and SecurityIntroduction to the Container Networking and Security
Introduction to the Container Networking and Security
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 

Dernier (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

Docker at Digital Ocean

  • 2. why
  • 3. FROM ruby:2.2.0 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev RUN mkdir /myapp WORKDIR /myapp ADD Gemfile /myapp/Gemfile ADD Gemfile.lock /myapp/Gemfile.lock RUN bundle install ADD . /myapp
  • 4. FROM ruby:2.2.0 Not supported on https://hub.docker.com/_/ruby/ The following packages will be upgraded: curl dpkg dpkg-dev ghostscript gir1.2-gdkpixbuf-2.0 git git-man krb5-multidev libcups2 libcupsfilters1 libcupsimage2 libcurl3 libcurl3-gnutls libcurl4-openssl-dev libdpkg-perl libexpat1 libexpat1-dev libfreetype6 libfreetype6-dev libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgdk-pixbuf2.0-dev libgnutls-deb0-28 libgs9 libgs9-common libgssapi-krb5-2 libgssrpc4 libicu52 libk5crypto3 libkadm5clnt-mit9 libkadm5srv-mit9 libkdb5-7 libkrb5-3 libkrb5support0 libldap-2.4-2 libmysqlclient-dev libmysqlclient18 libpng12-0 libpng12-dev libpq-dev libpq5 libsasl2-2 libsasl2-modules-db libsqlite3-0 libsqlite3-dev libssl-dev libssl-doc libssl1.0.0 libsvn1 libtasn1-6 libwmf-dev libwmf0.2-7 libxml2 libxml2-dev linux-libc-dev mercurial mercurial-common mysql-common openssh-client openssl perl perl-base perl-modules subversion 64 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 47.6 MB of archives. After this operation, 199 kB of additional disk space will be used.
  • 5. FROM ruby:2.2.0 openssl (1.0.1k-3+deb8u2) jessie-security; urgency=medium * Fix CVE-2015-3194 * Fix CVE-2015-3195 * Fix CVE-2015-3196 -- Kurt Roeckx <kurt@roeckx.be> Thu, 03 Dec 2015 18:39:46 +0100 openssl (1.0.1k-3+deb8u1) jessie-security; urgency=medium * Fix CVE-2015-1791 * Fix CVE-2015-1792 * Fix CVE-2015-1789 * Fix CVE-2015-1790 * Fix CVE-2015-1788 * CVE-2015-4000: Have minimum of 768 bit for DH -- Kurt Roeckx <kurt@roeckx.be> Thu, 11 Jun 2015 20:55:20 +0200 openssl (1.0.1k-3) unstable; urgency=medium * Drop patch 0003-Free-up-passed-ASN.1-structure-if-reused.patch, it at least breaks voms, possibly others. (Closes: #781081) -- Kurt Roeckx <kurt@roeckx.be> Tue, 24 Mar 2015 21:34:00 +0100 openssl (1.0.1k-2) unstable; urgency=high * Fix CVE-2015-0286 * Fix CVE-2015-0287 * Fix CVE-2015-0289 * Fix CVE-2015-0293 (not affected, SSLv2 disabled) * Fix CVE-2015-0209 * Fix CVE-2015-0288 * Remove export ciphers from DEFAULT. * Make DTLS always act as if read_ahead is set. This fixes a regression introduce by the fix for CVE-2014-3571. (Closes: #775502) -- Kurt Roeckx <kurt@roeckx.be> Fri, 20 Mar 2015 18:24:15 +0100
  • 6. Even supported images might not have the latest updates FROM ruby:2.2.0 RUN apt-get update -qq && grep security /etc/apt/sources.list > /tmp/security.list && apt-get upgrade -y -o Dir::Etc::Sourcelist=/tmp/security.list
  • 7. FROM ruby:2.2.0 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev RUN mkdir /myapp WORKDIR /myapp ADD Gemfile /myapp/Gemfile ADD Gemfile.lock /myapp/Gemfile.lock RUN bundle install ADD . /myapp
  • 8. RUN bundle install gem 'blah', git: 'git@github.com:blah/blah.git', ref: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc'
  • 12. RUN bundle install ● share ssh-agent socket with docker build ● bundle install (as developer or CI identity) before build ● vendor gems in git
  • 14. FROM ruby:2.2.0 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev RUN mkdir /myapp WORKDIR /myapp ADD Gemfile /myapp/Gemfile ADD Gemfile.lock /myapp/Gemfile.lock RUN bundle install ADD . /myapp
  • 17. FROM ruby:2.2.0 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev RUN mkdir /myapp WORKDIR /myapp ADD Gemfile /myapp/Gemfile ADD Gemfile.lock /myapp/Gemfile.lock RUN bundle install ADD . /myapp
  • 18. what to run? myapp_web_1 | [2014-01-17 17:16:29] INFO WEBrick 1.3.1
  • 20. environment > file config figaro, dotenv development: adapter: mysql2 database: foo username: <%= Config.DATABASE_USERNAME %> password: <%= Config.DATABASE_PASSWORD %> host: <%= Config.DATABASE_HOST %> test: adapter: mysql2 database: foo_test username: <%= Config.DATABASE_USERNAME %> password: <%= Config.DATABASE_PASSWORD %> host: <%= Config.DATABASE_HOST %>
  • 22. config everything Redis.new(:host => "10.0.1.1") Redis.new(:url => "redis://:p4ssw0rd@10.0.1.1:6380/15")