SlideShare a Scribd company logo
Development
Environments
calvinfroedge
Wednesday, July 8, 15
Disclaimer
I do this to learn,
not to teach.
Wednesday, July 8, 15
No Dependency Hell (Other
than Docker itself)
Motivation: simplify collaboration in
developer teams, especially distributed
teams with no standardized software
Wednesday, July 8, 15
Easy distribution
• Docker is all about reusability
• You can find tons of prebuilt images at
Docker registry
• You can upload and distribute your own
images at Docker hub, or host your own
private registry
Wednesday, July 8, 15
Fast builds
• Docker images are cached locally
• You can build on top of existing images
• Caching is incremental (each command in
your Dockerfile gets cached)
Wednesday, July 8, 15
Composability
• Docker Compose (formerly fig) lets you
orchestrate containers with shared data
• Containers, as well as the host OS, can share
data via VOLUMES
• Links allow a container to access another
container’s ENV and exposed ports
Wednesday, July 8, 15
Dev environment
example
•http://bit.ly/1NSJo51
•Master branch builds the API image
•api-from-image branch uses an image
I created
•Example app: http://bit.ly/1dMcCFG
Wednesday, July 8, 15
Useful
Start boot2docker and export environment variables:
boot2docker init && $(boot2docker up | grep "export")
Figure out what host your containers are running on:
boot2docker ip
Push a running container as an image:
docker commit -m COMMIT_MESSAGE CONTAINER_ID IMAGE_TAG
docker push IMAGE_TAG
Start a shell in a running container (busybox sh, /bin/bash, etc.):
docker exec -it CONTAINER_ID SHELL_COMMAND
Wednesday, July 8, 15
Useful
Forward ports from boot2docker to your host OS:
boot2docker ssh -vnNTL PORT:localhost:PORT
View all running containers started with compose:
docker-compose ps
View log entries for a particular container:
docker ps CONTAINER_ID
View logs for a particular container:
docker logs CONTAINER_ID
Wednesday, July 8, 15
Challenge
Wednesday, July 8, 15
• Pick a project and think about how to break it
up into pieces (one process - or near it, per
container)
• Keep your Docker config and your code
separated
• Allow for sharing of your code between your
host OS and the Docker container
Wednesday, July 8, 15
• If your code changes, restart your server (live
reload)
• Allow for using git, either from the container
or from the host OS
• The purpose here is to create a truly
distributable development environment
Wednesday, July 8, 15

More Related Content

What's hot (20)

PPTX
Academy PRO: Docker. Part 4
Binary Studio
 
PDF
Docker Up and Running Introduction
Mark Beacom
 
PDF
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
dotCloud
 
PDF
Introduction to Docker, December 2014 "Tour de France" Edition
Jérôme Petazzoni
 
PPTX
Docker session I: Continuous integration, delivery and deployment
Degendra Sivakoti
 
PDF
Intro To Docker
Jessica Lucci
 
PDF
Docker at Flux7
Aater Suleman
 
ODP
openSUSE Conference 2017 - The Docker at Travis Presentation
lslezak
 
PDF
An Introduction to Vagrant and Docker
Scott Lowe
 
PPTX
Docker - Build, Ship, and Run Any App, Anywhere
Codibly - Software House
 
PPTX
Docker 101
schmidtbt
 
PPTX
Surveillance on slam technology
GMO-Z.com Vietnam Lab Center
 
ODP
Docker. Micro services for lazy developers
Eugene Krevenets
 
PPTX
Introduction to docker
Bryan Yang
 
PPTX
Academy PRO: Docker. Part 1
Binary Studio
 
PPTX
docker compose
Alex Fernandez
 
PDF
Vagrant and docker
DuckDuckGo
 
PDF
GDG Lima - Docker Compose
Mario IC
 
PPTX
QA Club Kiev #20. Making life easier with Docker
QA Club Kiev
 
PDF
openSUSE Conference 2017 - YaST News
lslezak
 
Academy PRO: Docker. Part 4
Binary Studio
 
Docker Up and Running Introduction
Mark Beacom
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
dotCloud
 
Introduction to Docker, December 2014 "Tour de France" Edition
Jérôme Petazzoni
 
Docker session I: Continuous integration, delivery and deployment
Degendra Sivakoti
 
Intro To Docker
Jessica Lucci
 
Docker at Flux7
Aater Suleman
 
openSUSE Conference 2017 - The Docker at Travis Presentation
lslezak
 
An Introduction to Vagrant and Docker
Scott Lowe
 
Docker - Build, Ship, and Run Any App, Anywhere
Codibly - Software House
 
Docker 101
schmidtbt
 
Surveillance on slam technology
GMO-Z.com Vietnam Lab Center
 
Docker. Micro services for lazy developers
Eugene Krevenets
 
Introduction to docker
Bryan Yang
 
Academy PRO: Docker. Part 1
Binary Studio
 
docker compose
Alex Fernandez
 
Vagrant and docker
DuckDuckGo
 
GDG Lima - Docker Compose
Mario IC
 
QA Club Kiev #20. Making life easier with Docker
QA Club Kiev
 
openSUSE Conference 2017 - YaST News
lslezak
 

Similar to Boston Code Dojo - Docker meetup slides (20)

PDF
Docker in everyday development
Justyna Ilczuk
 
PDF
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Codemotion
 
PDF
Docker: A New Way to Turbocharging Your Apps Development
msyukor
 
PDF
Work shop - an introduction to the docker ecosystem
João Pedro Harbs
 
PDF
codemotion-docker-2014
Carlo Bonamico
 
PDF
A curtain-raiser to the container world Docker & Kubernetes
zekeLabs Technologies
 
PPTX
Introduction to Containers & Diving a little deeper into the benefits of Con...
Synergetics Learning and Cloud Consulting
 
PPTX
Docker
Narato
 
PPTX
Powercoders · Docker · Fall 2021.pptx
IgnacioTamayo2
 
PPTX
Docker Ecosystem on Azure
Patrick Chanezon
 
PPTX
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
PPTX
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
PDF
Introduction to Docker and Monitoring with InfluxData
InfluxData
 
PDF
Faster and Easier Software Development using Docker Platform
msyukor
 
PDF
Introduction to Containers - From Docker to Kubernetes and everything in between
All Things Open
 
PDF
Accelerate your software development with Docker
Andrey Hristov
 
PPTX
Accelerate your development with Docker
Andrey Hristov
 
PDF
Dockercon 23 - Getting started with Docker
ssuserfb6acb
 
PPTX
Docker for developers z java
andrzejsydor
 
PPTX
Docker.pptx
balaji257
 
Docker in everyday development
Justyna Ilczuk
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Codemotion
 
Docker: A New Way to Turbocharging Your Apps Development
msyukor
 
Work shop - an introduction to the docker ecosystem
João Pedro Harbs
 
codemotion-docker-2014
Carlo Bonamico
 
A curtain-raiser to the container world Docker & Kubernetes
zekeLabs Technologies
 
Introduction to Containers & Diving a little deeper into the benefits of Con...
Synergetics Learning and Cloud Consulting
 
Docker
Narato
 
Powercoders · Docker · Fall 2021.pptx
IgnacioTamayo2
 
Docker Ecosystem on Azure
Patrick Chanezon
 
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
Introduction to Docker and Monitoring with InfluxData
InfluxData
 
Faster and Easier Software Development using Docker Platform
msyukor
 
Introduction to Containers - From Docker to Kubernetes and everything in between
All Things Open
 
Accelerate your software development with Docker
Andrey Hristov
 
Accelerate your development with Docker
Andrey Hristov
 
Dockercon 23 - Getting started with Docker
ssuserfb6acb
 
Docker for developers z java
andrzejsydor
 
Docker.pptx
balaji257
 
Ad

Recently uploaded (20)

PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Ad

Boston Code Dojo - Docker meetup slides

  • 2. Disclaimer I do this to learn, not to teach. Wednesday, July 8, 15
  • 3. No Dependency Hell (Other than Docker itself) Motivation: simplify collaboration in developer teams, especially distributed teams with no standardized software Wednesday, July 8, 15
  • 4. Easy distribution • Docker is all about reusability • You can find tons of prebuilt images at Docker registry • You can upload and distribute your own images at Docker hub, or host your own private registry Wednesday, July 8, 15
  • 5. Fast builds • Docker images are cached locally • You can build on top of existing images • Caching is incremental (each command in your Dockerfile gets cached) Wednesday, July 8, 15
  • 6. Composability • Docker Compose (formerly fig) lets you orchestrate containers with shared data • Containers, as well as the host OS, can share data via VOLUMES • Links allow a container to access another container’s ENV and exposed ports Wednesday, July 8, 15
  • 7. Dev environment example •http://bit.ly/1NSJo51 •Master branch builds the API image •api-from-image branch uses an image I created •Example app: http://bit.ly/1dMcCFG Wednesday, July 8, 15
  • 8. Useful Start boot2docker and export environment variables: boot2docker init && $(boot2docker up | grep "export") Figure out what host your containers are running on: boot2docker ip Push a running container as an image: docker commit -m COMMIT_MESSAGE CONTAINER_ID IMAGE_TAG docker push IMAGE_TAG Start a shell in a running container (busybox sh, /bin/bash, etc.): docker exec -it CONTAINER_ID SHELL_COMMAND Wednesday, July 8, 15
  • 9. Useful Forward ports from boot2docker to your host OS: boot2docker ssh -vnNTL PORT:localhost:PORT View all running containers started with compose: docker-compose ps View log entries for a particular container: docker ps CONTAINER_ID View logs for a particular container: docker logs CONTAINER_ID Wednesday, July 8, 15
  • 11. • Pick a project and think about how to break it up into pieces (one process - or near it, per container) • Keep your Docker config and your code separated • Allow for sharing of your code between your host OS and the Docker container Wednesday, July 8, 15
  • 12. • If your code changes, restart your server (live reload) • Allow for using git, either from the container or from the host OS • The purpose here is to create a truly distributable development environment Wednesday, July 8, 15