(Go: >> BACK << -|- >> HOME <<)

SlideShare a Scribd company logo
Dockerize Your Project!
Improve your project development workflow with
docker and docker-compose
git/twitter @imrenagi
Docker Community Leader, Indonesia
Docker Indonesia
(https://www.meetup.com/Docker-Indonesia/)
Upcoming Meetup:
1. March 7th, 2018, 6.30pm-9pm @Traveloka
2. March 28th, 2018, 6.30pm-9pm @Gojek
Interested to be the next speaker or venue sponsor??
Reach me at @imrenagi / imre.nagi2812@gmail.com
Outline
Docker Basic
What is Docker / What is Docker Not
Basic Docker Commands
Dockerfiles
Docker Compose
What is Docker Compose
Docker-compose.yml
Demo & Hands On
Develop multi-service app (tweet live
sentiment analytics)
Q&A
Docker?
● “VM inside VM”
Docker containers are not VMs
● Easy connection to make
● Fundamentally different architectures
● Fundamentally different benefits
Some Docker Vocabularies
Docker Image
The basis of a Docker container. Represents a full application
Docker Container
The standard unit in which the application service resides and executes
Registry Service (Docker Hub or Docker Trusted Registry)
Cloud or server based storage and distribution service for your images
What is a container?
● Standardized packaging
for software and
dependencies
● Isolate apps from each
other
● Share the same OS kernel
● Works for all major Linux
distributions
Why dockerize your project?
● Best developer reason -> “it doesn’t work on my machine!”
● Reduce time for project setup in local development environment
● Make deployment to cloud platform (AWS, GCP, Azure) easy!
Dockerfile
● Instructions on how to
build a Docker image
● Looks very similar to
“native” commands
● Important to optimize
your Dockerfile
$ docker image pull redis:latest
$ docker image ls
$ docker container run –d –p 6379:6379 –-name redis
redis:latest
$ docker container ps
$ docker container stop redis (or <container id>)
$ docker container rm redis (or <container id>)
$ docker image rm redis:latest (or <imageid>)
$ docker build –t imrenagi/rojak-api:2.0 .
$ docker image push imrenagi/rojak-api:2.0
Basic Docker Commands
Docker compose is a tool for creating and managing
multi container applications
Docker Compose: Multi Container Applications
● Containers are all defined in a single file called docker-compose.yml
● Each container runs a particular component/service of your application. For
example:
○ Web frontend
○ User authentication
○ Payments gateway
○ Database
● Compose will spin up all of your containers in a single command
● Build and run one container at a
time
● Manually connect container
together
● Must be careful with dependencies
and start up order
Docker Compose: Multi Container Applications
● Define multi container app in
compose.yml file
● Single command to deploy entire app
● Handle container dependencies
● Works with Docker Swarm, Networking,
Volumes
● Easy to migrate the application to
Kubernetes
Docker Compose: Multi Container Applications
Docker-Compose
Demo/Hands On
https://github.com/imrenagi/tweet-livestream
Real-time twitter sentiment analytics
Requirements:
● Read live stream tweet from twitter stream API
● Determine the sentiment of a tweet (positive, negative, or neutral)
● Show the number of tweet based on its sentiment in frontend web application
via web browser
Context:
● Imagine we are working on a big company consists of several teams, in
where each small team is responsible to maintain a particular service
● Microservices??
Application Architecture (Monolith)
Twitter
stream API
Application Architecture (Microservice?)
Machine
Learning
Service
Pub/Sub
Service
Serving Layer:
Frontend App
Service
Twitter
stream API
Easy to scale each
microservice!!
Dockerfile for Machine learning service
Dockerfile for Frontend service
Docker-compose.yml
docker-compose up
And let the magic begins
THANK YOU :)
@imrenagi

More Related Content

What's hot

Serverless with Knative - Mete Atamel (Google)
Serverless with Knative - Mete Atamel (Google)Serverless with Knative - Mete Atamel (Google)
Serverless with Knative - Mete Atamel (Google)
Shift Conference
 
IThome DevOps Summit - IoT、docker與DevOps
IThome DevOps Summit - IoT、docker與DevOpsIThome DevOps Summit - IoT、docker與DevOps
IThome DevOps Summit - IoT、docker與DevOps
Simon Su
 
End-to-end test automation with Endtest.dev
End-to-end test automation with Endtest.devEnd-to-end test automation with Endtest.dev
End-to-end test automation with Endtest.dev
Konstantin Tarkus
 
Building Resilient Cloud Native Apps in GKE
Building Resilient Cloud Native Apps in GKEBuilding Resilient Cloud Native Apps in GKE
Building Resilient Cloud Native Apps in GKE
Jerry Jalava
 
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
Codemotion
 
Knative Intro
Knative IntroKnative Intro
Knative Intro
Joe Searcy
 
Introduction to Kubernetes and Google Container Engine (GKE)
Introduction to Kubernetes and Google Container Engine (GKE)Introduction to Kubernetes and Google Container Engine (GKE)
Introduction to Kubernetes and Google Container Engine (GKE)
Opsta
 
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Bitnami
 
Cncf event driven autoscaling with keda
Cncf   event driven autoscaling with kedaCncf   event driven autoscaling with keda
Cncf event driven autoscaling with keda
JurajHantk
 
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
VMware Tanzu
 
Distributed Storage in the Cloud
Distributed Storage in the CloudDistributed Storage in the Cloud
Distributed Storage in the Cloud
All Things Open
 
Tooling Matters - Development tools
Tooling Matters - Development toolsTooling Matters - Development tools
Tooling Matters - Development tools
Simon Dittlmann
 
Kubernetes and the Rise of Application-centric Computing
Kubernetes and the Rise of Application-centric ComputingKubernetes and the Rise of Application-centric Computing
Kubernetes and the Rise of Application-centric Computing
Bitnami
 
KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)
Patrick Chanezon
 
Kubernetes & Google Kubernetes Engine (GKE)
Kubernetes & Google Kubernetes Engine (GKE)Kubernetes & Google Kubernetes Engine (GKE)
Kubernetes & Google Kubernetes Engine (GKE)
Akash Agrawal
 
Publishing containerized micro services with Azure API management
Publishing containerized micro services with Azure API managementPublishing containerized micro services with Azure API management
Publishing containerized micro services with Azure API management
Jorge Arteiro
 
The what, why and how of knative
The what, why and how of knativeThe what, why and how of knative
The what, why and how of knative
Mofizur Rahman
 
Tu non puoi passare! Policy compliance con OPA Gatekeeper | Niccolò Raspa
Tu non puoi passare! Policy compliance con OPA Gatekeeper | Niccolò RaspaTu non puoi passare! Policy compliance con OPA Gatekeeper | Niccolò Raspa
Tu non puoi passare! Policy compliance con OPA Gatekeeper | Niccolò Raspa
KCDItaly
 
Kubernetes Native Serverless solution: Kubeless
Kubernetes Native Serverless solution: KubelessKubernetes Native Serverless solution: Kubeless
Kubernetes Native Serverless solution: Kubeless
Sebastien Goasguen
 
Continuous Integration with Jenkins and Java EE
Continuous Integration with Jenkins and Java EEContinuous Integration with Jenkins and Java EE
Continuous Integration with Jenkins and Java EE
Francesco Marchitelli
 

What's hot (20)

Serverless with Knative - Mete Atamel (Google)
Serverless with Knative - Mete Atamel (Google)Serverless with Knative - Mete Atamel (Google)
Serverless with Knative - Mete Atamel (Google)
 
IThome DevOps Summit - IoT、docker與DevOps
IThome DevOps Summit - IoT、docker與DevOpsIThome DevOps Summit - IoT、docker與DevOps
IThome DevOps Summit - IoT、docker與DevOps
 
End-to-end test automation with Endtest.dev
End-to-end test automation with Endtest.devEnd-to-end test automation with Endtest.dev
End-to-end test automation with Endtest.dev
 
Building Resilient Cloud Native Apps in GKE
Building Resilient Cloud Native Apps in GKEBuilding Resilient Cloud Native Apps in GKE
Building Resilient Cloud Native Apps in GKE
 
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
 
Knative Intro
Knative IntroKnative Intro
Knative Intro
 
Introduction to Kubernetes and Google Container Engine (GKE)
Introduction to Kubernetes and Google Container Engine (GKE)Introduction to Kubernetes and Google Container Engine (GKE)
Introduction to Kubernetes and Google Container Engine (GKE)
 
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
 
Cncf event driven autoscaling with keda
Cncf   event driven autoscaling with kedaCncf   event driven autoscaling with keda
Cncf event driven autoscaling with keda
 
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
 
Distributed Storage in the Cloud
Distributed Storage in the CloudDistributed Storage in the Cloud
Distributed Storage in the Cloud
 
Tooling Matters - Development tools
Tooling Matters - Development toolsTooling Matters - Development tools
Tooling Matters - Development tools
 
Kubernetes and the Rise of Application-centric Computing
Kubernetes and the Rise of Application-centric ComputingKubernetes and the Rise of Application-centric Computing
Kubernetes and the Rise of Application-centric Computing
 
KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)
 
Kubernetes & Google Kubernetes Engine (GKE)
Kubernetes & Google Kubernetes Engine (GKE)Kubernetes & Google Kubernetes Engine (GKE)
Kubernetes & Google Kubernetes Engine (GKE)
 
Publishing containerized micro services with Azure API management
Publishing containerized micro services with Azure API managementPublishing containerized micro services with Azure API management
Publishing containerized micro services with Azure API management
 
The what, why and how of knative
The what, why and how of knativeThe what, why and how of knative
The what, why and how of knative
 
Tu non puoi passare! Policy compliance con OPA Gatekeeper | Niccolò Raspa
Tu non puoi passare! Policy compliance con OPA Gatekeeper | Niccolò RaspaTu non puoi passare! Policy compliance con OPA Gatekeeper | Niccolò Raspa
Tu non puoi passare! Policy compliance con OPA Gatekeeper | Niccolò Raspa
 
Kubernetes Native Serverless solution: Kubeless
Kubernetes Native Serverless solution: KubelessKubernetes Native Serverless solution: Kubeless
Kubernetes Native Serverless solution: Kubeless
 
Continuous Integration with Jenkins and Java EE
Continuous Integration with Jenkins and Java EEContinuous Integration with Jenkins and Java EE
Continuous Integration with Jenkins and Java EE
 

Similar to Dockerize Your Project - GDGBogor

DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
BalaBit
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Pubudu Jayawardana
 
14309525_docker_docker_docker_docker_introduction.ppt
14309525_docker_docker_docker_docker_introduction.ppt14309525_docker_docker_docker_docker_introduction.ppt
14309525_docker_docker_docker_docker_introduction.ppt
aravym456
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
Domino on docker version 2
Domino on docker version 2Domino on docker version 2
Domino on docker version 2
Slobodan Lohja
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
Ajeet Singh Raina
 
Docker_tech_guild ppt.ppt technical guild
Docker_tech_guild ppt.ppt technical guildDocker_tech_guild ppt.ppt technical guild
Docker_tech_guild ppt.ppt technical guild
AkshayaM79
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
Ajeet Singh Raina
 
Docker in everyday development
Docker in everyday developmentDocker in everyday development
Docker in everyday development
Justyna Ilczuk
 
20170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 201720170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 2017
Takayoshi Tanaka
 
Docker with WordPress
Docker with WordPressDocker with WordPress
Docker with WordPress
Imran Sayed
 
Dockerizing your java development environment
Dockerizing your java development environmentDockerizing your java development environment
Dockerizing your java development environment
Buhake Sindi
 
Docker workshop GDSC_CSSC
Docker workshop GDSC_CSSCDocker workshop GDSC_CSSC
Docker workshop GDSC_CSSC
GDSC UofT Mississauga
 
Demystifying Docker101
Demystifying Docker101Demystifying Docker101
Demystifying Docker101
Ajeet Singh Raina
 
Demystifying Docker
Demystifying DockerDemystifying Docker
Demystifying Docker
Cloud Native Bangalore
 
Docker - What it is and how to get started?
Docker - What it is and how to get started?Docker - What it is and how to get started?
Docker - What it is and how to get started?
Niko Virtala
 
Docker - A Quick Introduction Guide
Docker - A Quick Introduction GuideDocker - A Quick Introduction Guide
Docker - A Quick Introduction Guide
Mohammed Fazuluddin
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
damovsky
 
DCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and ArchitectureDCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and Architecture
Docker, Inc.
 
Docker
DockerDocker
Docker
Mayank Patel
 

Similar to Dockerize Your Project - GDGBogor (20)

DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
14309525_docker_docker_docker_docker_introduction.ppt
14309525_docker_docker_docker_docker_introduction.ppt14309525_docker_docker_docker_docker_introduction.ppt
14309525_docker_docker_docker_docker_introduction.ppt
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Domino on docker version 2
Domino on docker version 2Domino on docker version 2
Domino on docker version 2
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 
Docker_tech_guild ppt.ppt technical guild
Docker_tech_guild ppt.ppt technical guildDocker_tech_guild ppt.ppt technical guild
Docker_tech_guild ppt.ppt technical guild
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
 
Docker in everyday development
Docker in everyday developmentDocker in everyday development
Docker in everyday development
 
20170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 201720170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 2017
 
Docker with WordPress
Docker with WordPressDocker with WordPress
Docker with WordPress
 
Dockerizing your java development environment
Dockerizing your java development environmentDockerizing your java development environment
Dockerizing your java development environment
 
Docker workshop GDSC_CSSC
Docker workshop GDSC_CSSCDocker workshop GDSC_CSSC
Docker workshop GDSC_CSSC
 
Demystifying Docker101
Demystifying Docker101Demystifying Docker101
Demystifying Docker101
 
Demystifying Docker
Demystifying DockerDemystifying Docker
Demystifying Docker
 
Docker - What it is and how to get started?
Docker - What it is and how to get started?Docker - What it is and how to get started?
Docker - What it is and how to get started?
 
Docker - A Quick Introduction Guide
Docker - A Quick Introduction GuideDocker - A Quick Introduction Guide
Docker - A Quick Introduction Guide
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
 
DCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and ArchitectureDCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and Architecture
 
Docker
DockerDocker
Docker
 

Recently uploaded

PMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOCPMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOC
itssurajthakur06
 
Analysis and Design of Algorithm Lab Manual (BCSL404)
Analysis and Design of Algorithm Lab Manual (BCSL404)Analysis and Design of Algorithm Lab Manual (BCSL404)
Analysis and Design of Algorithm Lab Manual (BCSL404)
VishalMore197390
 
Enhancing Security with Multi-Factor Authentication in Privileged Access Mana...
Enhancing Security with Multi-Factor Authentication in Privileged Access Mana...Enhancing Security with Multi-Factor Authentication in Privileged Access Mana...
Enhancing Security with Multi-Factor Authentication in Privileged Access Mana...
Bert Blevins
 
Response & Safe AI at Summer School of AI at IIITH
Response & Safe AI at Summer School of AI at IIITHResponse & Safe AI at Summer School of AI at IIITH
Response & Safe AI at Summer School of AI at IIITH
IIIT Hyderabad
 
IWISS Catalog 2024
IWISS Catalog 2024IWISS Catalog 2024
IWISS Catalog 2024
Iwiss Tools Co.,Ltd
 
Vernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsxVernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsx
Tool and Die Tech
 
DESIGN OF BEARINGS ANJANEYULU bridge bearing
DESIGN OF BEARINGS ANJANEYULU bridge bearingDESIGN OF BEARINGS ANJANEYULU bridge bearing
DESIGN OF BEARINGS ANJANEYULU bridge bearing
GokulKannan194051
 
一比一原版(UQ毕业证书)昆士兰大学毕业证如何办理
一比一原版(UQ毕业证书)昆士兰大学毕业证如何办理一比一原版(UQ毕业证书)昆士兰大学毕业证如何办理
一比一原版(UQ毕业证书)昆士兰大学毕业证如何办理
byyi0h
 
system structure in operating systems.pdf
system structure in operating systems.pdfsystem structure in operating systems.pdf
system structure in operating systems.pdf
zyroxsunny
 
一比一原版(csulb文凭证书)美国加州州立大学长滩分校毕业证如何办理
一比一原版(csulb文凭证书)美国加州州立大学长滩分校毕业证如何办理一比一原版(csulb文凭证书)美国加州州立大学长滩分校毕业证如何办理
一比一原版(csulb文凭证书)美国加州州立大学长滩分校毕业证如何办理
feoud
 
FD FAN.pdf forced draft fan for boiler operation and run its very important f...
FD FAN.pdf forced draft fan for boiler operation and run its very important f...FD FAN.pdf forced draft fan for boiler operation and run its very important f...
FD FAN.pdf forced draft fan for boiler operation and run its very important f...
MDHabiburRhaman1
 
Lecture Notes for computer networks subject
Lecture Notes for computer networks subjectLecture Notes for computer networks subject
Lecture Notes for computer networks subject
ssuseree48e0
 
Coroutines Flow & Channels Workshop Slides
Coroutines Flow & Channels Workshop SlidesCoroutines Flow & Channels Workshop Slides
Coroutines Flow & Channels Workshop Slides
Morteza Nedaei
 
Trends in Computer Aided Design and MFG.
Trends in Computer Aided Design and MFG.Trends in Computer Aided Design and MFG.
Trends in Computer Aided Design and MFG.
Tool and Die Tech
 
Application Infrastructure and cloud computing.pdf
Application Infrastructure and cloud computing.pdfApplication Infrastructure and cloud computing.pdf
Application Infrastructure and cloud computing.pdf
Mithun Chakroborty
 
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdfGUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
ProexportColombia1
 
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
VICTOR MAESTRE RAMIREZ
 
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and PreventionUnderstanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Bert Blevins
 
Best Practices for Password Rotation and Tools to Streamline the Process
Best Practices for Password Rotation and Tools to Streamline the ProcessBest Practices for Password Rotation and Tools to Streamline the Process
Best Practices for Password Rotation and Tools to Streamline the Process
Bert Blevins
 
( Call  ) Girls Noida 9873940964 High Profile
( Call  ) Girls Noida 9873940964 High Profile( Call  ) Girls Noida 9873940964 High Profile
( Call  ) Girls Noida 9873940964 High Profile
butwhat24
 

Recently uploaded (20)

PMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOCPMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOC
 
Analysis and Design of Algorithm Lab Manual (BCSL404)
Analysis and Design of Algorithm Lab Manual (BCSL404)Analysis and Design of Algorithm Lab Manual (BCSL404)
Analysis and Design of Algorithm Lab Manual (BCSL404)
 
Enhancing Security with Multi-Factor Authentication in Privileged Access Mana...
Enhancing Security with Multi-Factor Authentication in Privileged Access Mana...Enhancing Security with Multi-Factor Authentication in Privileged Access Mana...
Enhancing Security with Multi-Factor Authentication in Privileged Access Mana...
 
Response & Safe AI at Summer School of AI at IIITH
Response & Safe AI at Summer School of AI at IIITHResponse & Safe AI at Summer School of AI at IIITH
Response & Safe AI at Summer School of AI at IIITH
 
IWISS Catalog 2024
IWISS Catalog 2024IWISS Catalog 2024
IWISS Catalog 2024
 
Vernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsxVernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsx
 
DESIGN OF BEARINGS ANJANEYULU bridge bearing
DESIGN OF BEARINGS ANJANEYULU bridge bearingDESIGN OF BEARINGS ANJANEYULU bridge bearing
DESIGN OF BEARINGS ANJANEYULU bridge bearing
 
一比一原版(UQ毕业证书)昆士兰大学毕业证如何办理
一比一原版(UQ毕业证书)昆士兰大学毕业证如何办理一比一原版(UQ毕业证书)昆士兰大学毕业证如何办理
一比一原版(UQ毕业证书)昆士兰大学毕业证如何办理
 
system structure in operating systems.pdf
system structure in operating systems.pdfsystem structure in operating systems.pdf
system structure in operating systems.pdf
 
一比一原版(csulb文凭证书)美国加州州立大学长滩分校毕业证如何办理
一比一原版(csulb文凭证书)美国加州州立大学长滩分校毕业证如何办理一比一原版(csulb文凭证书)美国加州州立大学长滩分校毕业证如何办理
一比一原版(csulb文凭证书)美国加州州立大学长滩分校毕业证如何办理
 
FD FAN.pdf forced draft fan for boiler operation and run its very important f...
FD FAN.pdf forced draft fan for boiler operation and run its very important f...FD FAN.pdf forced draft fan for boiler operation and run its very important f...
FD FAN.pdf forced draft fan for boiler operation and run its very important f...
 
Lecture Notes for computer networks subject
Lecture Notes for computer networks subjectLecture Notes for computer networks subject
Lecture Notes for computer networks subject
 
Coroutines Flow & Channels Workshop Slides
Coroutines Flow & Channels Workshop SlidesCoroutines Flow & Channels Workshop Slides
Coroutines Flow & Channels Workshop Slides
 
Trends in Computer Aided Design and MFG.
Trends in Computer Aided Design and MFG.Trends in Computer Aided Design and MFG.
Trends in Computer Aided Design and MFG.
 
Application Infrastructure and cloud computing.pdf
Application Infrastructure and cloud computing.pdfApplication Infrastructure and cloud computing.pdf
Application Infrastructure and cloud computing.pdf
 
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdfGUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
 
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
 
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and PreventionUnderstanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
 
Best Practices for Password Rotation and Tools to Streamline the Process
Best Practices for Password Rotation and Tools to Streamline the ProcessBest Practices for Password Rotation and Tools to Streamline the Process
Best Practices for Password Rotation and Tools to Streamline the Process
 
( Call  ) Girls Noida 9873940964 High Profile
( Call  ) Girls Noida 9873940964 High Profile( Call  ) Girls Noida 9873940964 High Profile
( Call  ) Girls Noida 9873940964 High Profile
 

Dockerize Your Project - GDGBogor

  • 1. Dockerize Your Project! Improve your project development workflow with docker and docker-compose git/twitter @imrenagi Docker Community Leader, Indonesia
  • 2. Docker Indonesia (https://www.meetup.com/Docker-Indonesia/) Upcoming Meetup: 1. March 7th, 2018, 6.30pm-9pm @Traveloka 2. March 28th, 2018, 6.30pm-9pm @Gojek Interested to be the next speaker or venue sponsor?? Reach me at @imrenagi / imre.nagi2812@gmail.com
  • 3. Outline Docker Basic What is Docker / What is Docker Not Basic Docker Commands Dockerfiles Docker Compose What is Docker Compose Docker-compose.yml Demo & Hands On Develop multi-service app (tweet live sentiment analytics) Q&A
  • 5. Docker containers are not VMs ● Easy connection to make ● Fundamentally different architectures ● Fundamentally different benefits
  • 6. Some Docker Vocabularies Docker Image The basis of a Docker container. Represents a full application Docker Container The standard unit in which the application service resides and executes Registry Service (Docker Hub or Docker Trusted Registry) Cloud or server based storage and distribution service for your images
  • 7. What is a container? ● Standardized packaging for software and dependencies ● Isolate apps from each other ● Share the same OS kernel ● Works for all major Linux distributions
  • 8. Why dockerize your project? ● Best developer reason -> “it doesn’t work on my machine!” ● Reduce time for project setup in local development environment ● Make deployment to cloud platform (AWS, GCP, Azure) easy!
  • 9. Dockerfile ● Instructions on how to build a Docker image ● Looks very similar to “native” commands ● Important to optimize your Dockerfile
  • 10. $ docker image pull redis:latest $ docker image ls $ docker container run –d –p 6379:6379 –-name redis redis:latest $ docker container ps $ docker container stop redis (or <container id>) $ docker container rm redis (or <container id>) $ docker image rm redis:latest (or <imageid>) $ docker build –t imrenagi/rojak-api:2.0 . $ docker image push imrenagi/rojak-api:2.0 Basic Docker Commands
  • 11. Docker compose is a tool for creating and managing multi container applications Docker Compose: Multi Container Applications ● Containers are all defined in a single file called docker-compose.yml ● Each container runs a particular component/service of your application. For example: ○ Web frontend ○ User authentication ○ Payments gateway ○ Database ● Compose will spin up all of your containers in a single command
  • 12. ● Build and run one container at a time ● Manually connect container together ● Must be careful with dependencies and start up order Docker Compose: Multi Container Applications ● Define multi container app in compose.yml file ● Single command to deploy entire app ● Handle container dependencies ● Works with Docker Swarm, Networking, Volumes ● Easy to migrate the application to Kubernetes
  • 13. Docker Compose: Multi Container Applications
  • 16. Real-time twitter sentiment analytics Requirements: ● Read live stream tweet from twitter stream API ● Determine the sentiment of a tweet (positive, negative, or neutral) ● Show the number of tweet based on its sentiment in frontend web application via web browser Context: ● Imagine we are working on a big company consists of several teams, in where each small team is responsible to maintain a particular service ● Microservices??
  • 18. Application Architecture (Microservice?) Machine Learning Service Pub/Sub Service Serving Layer: Frontend App Service Twitter stream API Easy to scale each microservice!!
  • 19. Dockerfile for Machine learning service
  • 22. docker-compose up And let the magic begins