SlideShare a Scribd company logo
Docker: The basics
Marcelo Costa
Cloud Integration Engineer, Connections Cloud
May 2016
Including a demo with an awesome full-stack JS app
Agenda
● What is Docker?
● What is Jquery, MongoDB and Nashorn?
● The high-level architecture of the Online Kanban Board
● Docker run syntax / putting everything together
● What is Docker-Compose and why it is so amazing
● DEMO
● Q & A
What is Docker?
What is Jquery, MongoDB and Nashorn?
Must mention: avatar.js
The high-level architecture of the Online Kanban Board
Docker run syntax / putting everything together 1/2
The basics:
●
docker run -it busybox:latest
● docker run -d busybox:latest top
c646318a53cd4e16780cd654fa6df854c6550e089491f4a805ba16edd3b94c32
●
docker attach c646
● ctrl+c stops the container (ssh if you need to jump into containers without impacting→
them)
● Some important parameters:
Parameters Configuration
-d (detached) Runs in detached mode (not interactive)
--name Name of the container (ID)
-h (Hostname) Hostname within Docker Network
--link Allow communication within Docker Network
-p (Port) Exposed port (host:container)
-v (Volume) Mapped Volume/disk/path (host:container)
<image> Name of the image (parent obj of the container)
-w (Working Dir) Initial directory/folder for container commands
Docker run syntax / putting everything together 2/2
● Adding some complexity:
●
docker run -d --name mydbcontainer -h mykanbandbhost -p 27017:27017 -v
/home/marcelo/.docker-volumes/myOnlineKanban/data:/data/db mongo
● docker run -d --name mykanban -h mykanbanapp --link mydbcontainer -p 8080:8080 -w
/opt/mykanban -v /home/marcelo/Projects/MyOnlineKanban/mykanban:/opt/mykanban
java:8 /usr/bin/jjs -cp lib/mongo-2.10.1.jar httpsrv.js
Listing running containers:
● docker ps --filter status=running
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4c97e0fca863 busybox:latest "top" 3 seconds ago Up 2 seconds stupefied_euclid
What is Docker-Compose and why it is so amazing
● Instead of executing multiple “docker run” commands or opening multiple terminals
to start and track each container configuration, use a single command:

Docker-compose up
● Docker-compose.yml
mykanban:
image: java:8
working_dir: /opt/mykanban/
command: jjs -cp lib/mongo-2.10.1.jar httpsrv.js
links:
- mydbcontainer
ports:
- '8080:8080'
volumes:
- ~/Projects/MyOnlineKanban/mykanban:/opt/mykanban
mydbcontainer:
image: mongo
environment:
MONGODB_USER: mongouser
MONGODB_PASSWORD: meh123
hostname: mykanbandbhost
ports:
- '27017:27017'
volumes:
- ~/.docker-
volumes/myOnlineKanban/data:/data/db/
DEMO
Q & A

More Related Content

PDF
From Docker Run To Docker Compose
PPTX
Academy PRO: Docker. Part 4
PDF
GDG Lima - Docker Compose
PPTX
Academy PRO: Docker. Part 1
PPTX
Academy PRO: Docker. Part 2
PDF
When Docker ends, Chef begins ~ #idi2015 Incontro DevOps Italia
PPTX
Docker session III: Dockerfile
PDF
Virtual Machines and Docker
From Docker Run To Docker Compose
Academy PRO: Docker. Part 4
GDG Lima - Docker Compose
Academy PRO: Docker. Part 1
Academy PRO: Docker. Part 2
When Docker ends, Chef begins ~ #idi2015 Incontro DevOps Italia
Docker session III: Dockerfile
Virtual Machines and Docker

What's hot (20)

PDF
Docker Compose to Production with Docker Swarm
PDF
Docker in everyday development
PDF
Docker / Ansible
PDF
ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm Mode
PDF
Linux Containers & Docker
PDF
Introducing docker
PDF
Swarm: Native Docker Clustering
PPTX
Docker session I: Continuous integration, delivery and deployment
PPTX
what is docker
PDF
Docker compose
PPTX
Academy PRO: Docker. Lecture 3
PDF
Continuous Delivery di una WebApp - by example
PPTX
Introducing & playing with Docker | Manel Martinez | 1st Docker Crete Meetup
PPTX
Practical Glusto Example
PDF
Microservices on Kubernetes - The simple way
PPTX
Docker e git lab
PDF
Kubernetes: training micro-dragons for a serious battle
PDF
ODP
Gluster containers!
PDF
Gluster Containerized Storage for Cloud Applications
Docker Compose to Production with Docker Swarm
Docker in everyday development
Docker / Ansible
ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm Mode
Linux Containers & Docker
Introducing docker
Swarm: Native Docker Clustering
Docker session I: Continuous integration, delivery and deployment
what is docker
Docker compose
Academy PRO: Docker. Lecture 3
Continuous Delivery di una WebApp - by example
Introducing & playing with Docker | Manel Martinez | 1st Docker Crete Meetup
Practical Glusto Example
Microservices on Kubernetes - The simple way
Docker e git lab
Kubernetes: training micro-dragons for a serious battle
Gluster containers!
Gluster Containerized Storage for Cloud Applications
Ad

Viewers also liked (13)

PDF
Kubernetes Me this Batman
PDF
kubernetes - minikube - getting started
PDF
docker installation and basics
PDF
Nashorn: JavaScript Running on Java VM (English)
PDF
[D2 COMMUNITY] Open Container Seoul Meetup - Docker security
PDF
Container Network Interface: Network Plugins for Kubernetes and beyond
PDF
Docker d2 박승환
PDF
blue-green deployment with docker containers
PDF
[D2 COMMUNITY] Open Container Seoul Meetup - Running a container platform in ...
PPTX
Container & kubernetes
PDF
[D2 COMMUNITY] Open Container Seoul Meetup - Kubernetes를 이용한 서비스 구축과 openshift
PDF
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
PDF
Kubernetes Networking
Kubernetes Me this Batman
kubernetes - minikube - getting started
docker installation and basics
Nashorn: JavaScript Running on Java VM (English)
[D2 COMMUNITY] Open Container Seoul Meetup - Docker security
Container Network Interface: Network Plugins for Kubernetes and beyond
Docker d2 박승환
blue-green deployment with docker containers
[D2 COMMUNITY] Open Container Seoul Meetup - Running a container platform in ...
Container & kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - Kubernetes를 이용한 서비스 구축과 openshift
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
Kubernetes Networking
Ad

Similar to Docker: The basics - Including a demo with an awesome full-stack JS app (20)

PDF
Docker Essentials Workshop— Innovation Labs July 2020
PPTX
Running Docker in Development & Production (DevSum 2015)
PDF
From zero to Docker
PDF
Streamline your development environment with docker
PPTX
Real World Experience of Running Docker in Development and Production
PDF
DockerCC.pdf
PPTX
Docker 1.11 Presentation
PDF
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
PPTX
Powercoders · Docker · Fall 2021.pptx
PDF
PDF
Docker for mere mortals
PDF
Introduction of Docker and Docker Compose
PDF
Running the Oracle SOA Suite Environment in a Docker Container
PPTX
Dockerizing a Symfony2 application
PPTX
Docker Introductory workshop
PDF
Docker, Kubernetes, and Google Cloud
PDF
Containerizing Web Application with Docker
PDF
Docker by Example - Basics
PDF
手把手帶你學Docker 03042017
PPTX
Docker for Web Developers: A Sneak Peek
Docker Essentials Workshop— Innovation Labs July 2020
Running Docker in Development & Production (DevSum 2015)
From zero to Docker
Streamline your development environment with docker
Real World Experience of Running Docker in Development and Production
DockerCC.pdf
Docker 1.11 Presentation
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
Powercoders · Docker · Fall 2021.pptx
Docker for mere mortals
Introduction of Docker and Docker Compose
Running the Oracle SOA Suite Environment in a Docker Container
Dockerizing a Symfony2 application
Docker Introductory workshop
Docker, Kubernetes, and Google Cloud
Containerizing Web Application with Docker
Docker by Example - Basics
手把手帶你學Docker 03042017
Docker for Web Developers: A Sneak Peek

Recently uploaded (20)

PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
A Presentation on Artificial Intelligence
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
cuic standard and advanced reporting.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Spectral efficient network and resource selection model in 5G networks
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
KodekX | Application Modernization Development
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Approach and Philosophy of On baking technology
Review of recent advances in non-invasive hemoglobin estimation
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
A Presentation on Artificial Intelligence
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25 Week I
cuic standard and advanced reporting.pdf
Machine learning based COVID-19 study performance prediction
Advanced methodologies resolving dimensionality complications for autism neur...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Building Integrated photovoltaic BIPV_UPV.pdf
NewMind AI Monthly Chronicles - July 2025
Spectral efficient network and resource selection model in 5G networks
The AUB Centre for AI in Media Proposal.docx
Chapter 3 Spatial Domain Image Processing.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
KodekX | Application Modernization Development
Understanding_Digital_Forensics_Presentation.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Approach and Philosophy of On baking technology

Docker: The basics - Including a demo with an awesome full-stack JS app

  • 1. Docker: The basics Marcelo Costa Cloud Integration Engineer, Connections Cloud May 2016 Including a demo with an awesome full-stack JS app
  • 2. Agenda ● What is Docker? ● What is Jquery, MongoDB and Nashorn? ● The high-level architecture of the Online Kanban Board ● Docker run syntax / putting everything together ● What is Docker-Compose and why it is so amazing ● DEMO ● Q & A
  • 4. What is Jquery, MongoDB and Nashorn? Must mention: avatar.js
  • 5. The high-level architecture of the Online Kanban Board
  • 6. Docker run syntax / putting everything together 1/2 The basics: ● docker run -it busybox:latest ● docker run -d busybox:latest top c646318a53cd4e16780cd654fa6df854c6550e089491f4a805ba16edd3b94c32 ● docker attach c646 ● ctrl+c stops the container (ssh if you need to jump into containers without impacting→ them) ● Some important parameters: Parameters Configuration -d (detached) Runs in detached mode (not interactive) --name Name of the container (ID) -h (Hostname) Hostname within Docker Network --link Allow communication within Docker Network -p (Port) Exposed port (host:container) -v (Volume) Mapped Volume/disk/path (host:container) <image> Name of the image (parent obj of the container) -w (Working Dir) Initial directory/folder for container commands
  • 7. Docker run syntax / putting everything together 2/2 ● Adding some complexity: ● docker run -d --name mydbcontainer -h mykanbandbhost -p 27017:27017 -v /home/marcelo/.docker-volumes/myOnlineKanban/data:/data/db mongo ● docker run -d --name mykanban -h mykanbanapp --link mydbcontainer -p 8080:8080 -w /opt/mykanban -v /home/marcelo/Projects/MyOnlineKanban/mykanban:/opt/mykanban java:8 /usr/bin/jjs -cp lib/mongo-2.10.1.jar httpsrv.js Listing running containers: ● docker ps --filter status=running CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4c97e0fca863 busybox:latest "top" 3 seconds ago Up 2 seconds stupefied_euclid
  • 8. What is Docker-Compose and why it is so amazing ● Instead of executing multiple “docker run” commands or opening multiple terminals to start and track each container configuration, use a single command:  Docker-compose up ● Docker-compose.yml mykanban: image: java:8 working_dir: /opt/mykanban/ command: jjs -cp lib/mongo-2.10.1.jar httpsrv.js links: - mydbcontainer ports: - '8080:8080' volumes: - ~/Projects/MyOnlineKanban/mykanban:/opt/mykanban mydbcontainer: image: mongo environment: MONGODB_USER: mongouser MONGODB_PASSWORD: meh123 hostname: mykanbandbhost ports: - '27017:27017' volumes: - ~/.docker- volumes/myOnlineKanban/data:/data/db/
  • 10. Q & A