SlideShare a Scribd company logo
1 of 11
Build, Deploy and Run Node Js Application on Azure using Docker
Osama Mustafa P a g e | 1
This documentation explains step by step how to Build, Deploy and Run Node.js application on
Azure using docker.
The following Source code will be used as test and can be checked from here.
Requirements:-
• Azure Account (Sign up for a free $200 credit)
• Git (Install on the computer)
• Docker (Install on the computer)
• Node.js (you can use the above link to clone the code).
Let’s work !!!
Step #1:-
After logging to the Azure account, as initial step we must create something called container
registry ( ACR will be used later as refer to Azure container Registry) which allows you to store
your custom container images privately in the Azure cloud.
Access to azure portal from the following link :- https://portal.azure.com/
Figure 1 Create container Registry
Then After access the container registry page, press add
Build, Deploy and Run Node Js Application on Azure using Docker
Osama Mustafa P a g e | 2
Figure 2 add ACR Screen
And fill the information depends on the requirement you have.
Figure 3 Create ACR
And Press create.
Wait for couple of second/minute till it will be created, azure will notify you (Notification
section) once it’s completed.
Step #2:-
Once the ACR will be created, press on it, and it will take you to the information about the
created ACR, the following information will be needed later.
Build, Deploy and Run Node Js Application on Azure using Docker
Osama Mustafa P a g e | 3
Figure 4 ACR Login information
Step #3:-
We need to check the docker login, open Power shell/terminal depends on operating system
you are using, to authenticate to ACR and validate the credentials.
Figure 5 Test docker Login using ACR information
Build, Deploy and Run Node Js Application on Azure using Docker
Osama Mustafa P a g e | 4
Figure 6 Test Result, Login Succeeded
You should see a message that says, “login succeeded”. As Figure 6.
Step #4:-
We need to clone the sample code from
https://bitbucket.org/network-international/node-js-getting-started/src/master/
Git command should be installed, to do this just press on this link here.
Fire the below command on the PowerShell/terminal/command promote.
git clone https://github.com/heroku/node-js-getting-started.git
Figure 7 Using Git to clone the code
After you've cloned the repo, switch into the application directory:
You will find files, create file call it Dockerfile (without any extension).
Build, Deploy and Run Node Js Application on Azure using Docker
Osama Mustafa P a g e | 5
Figure 8 Dockerfile inside cloned repo
Inside the file write the following :-
Descriptions : -
• FROM node:alpine, The FROM command defines the base container image, and the
operating system will be Alpine Linux.
• WORKDIR /usr/app define the working directory and is where we'll store the application
code and if it’s not exists on the OS will be created during the process.
• COPY package*.json ./ used during the build process to add the package.json and
package-lock.json files to the working directory.
• RUN npm install used to execute npm install which will ensure our application
dependencies are included within the container image.
• COPY . . this is to copy the application source files into the working directory.
• CMD ["npm", "start"] defines the default command to execute when the container
starts.
Step #5:-
To do this step, you should be in the same directory as the Dockerfile. Use the docker build
command to create your container image, the below command will tell Docker to build your
image using the Dockerfile in the current directory.
FROM node:alpine
WORKDIR /usr/app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["npm", "start"]
docker build -t demonetwork.azurecr.io/node-docker-demo:latest .
Build, Deploy and Run Node Js Application on Azure using Docker
Osama Mustafa P a g e | 6
Figure 9 Build docker image using dockerfile
Step #6:-
Now we test the login to our docker before, let’s push our image to ACR using the below
command,
Figure 10 Push the docker Image to ACR
docker push demonetwork.azurecr.io/node-docker-demo:latest
Build, Deploy and Run Node Js Application on Azure using Docker
Osama Mustafa P a g e | 7
Figure 11 Pushing the docker image completed
After the command completes successfully, you can head back to the Azure portal to verify that
your image is now available in ACR.
Figure 12 Verify the command
Step #7:-
The final step, which is expose the docker application using URL, Azure make this step easy, by
creating resource called Web App for containers, to do this just follow the below figures.
In the Azure portal, select Create a resource, select Web in the Azure Marketplace, and choose
Web App for containers.
Build, Deploy and Run Node Js Application on Azure using Docker
Osama Mustafa P a g e | 8
Figure 13 Create web app for containers
Press on web app for containers
Figure 14 Create Web App for containers
New page will be open, fill the information, such as the name of instance, will be publish either
on Linux or docker container ( our case) , don’t press review + create, press Next: Docker, so you
will be able to configure the web app.
Build, Deploy and Run Node Js Application on Azure using Docker
Osama Mustafa P a g e | 9
Figure 15 Web App Instance details
The next screen, which is docker, as you see, I choose “ azure container Registry” and from the
drop list, will be appeared our options.
Figure 16 web app container configuration
Press review creates.
Build, Deploy and Run Node Js Application on Azure using Docker
Osama Mustafa P a g e | 10
Figure 17 Web App Summary Page
Wait for couple of seconds and it will be created.
Figure 18 Final Result with URL for the new deployed code
As you see if you check the URL and press on it
This is the result.
https://networktask.azurewebsites.net
Build, Deploy and Run Node Js Application on Azure using Docker
Osama Mustafa P a g e | 11

More Related Content

What's hot

SELENIUM SCRIPTS FOR DASHBOARD UI
SELENIUM SCRIPTS FOR DASHBOARD UISELENIUM SCRIPTS FOR DASHBOARD UI
SELENIUM SCRIPTS FOR DASHBOARD UIManasa Dilipkumar
 
Java – azure integration
Java – azure integrationJava – azure integration
Java – azure integrationpramajaya
 
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10Takayoshi Tanaka
 
Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10Stefan Scherer
 
Troubleshooting EC2- Linux Server Configuration
Troubleshooting EC2- Linux Server ConfigurationTroubleshooting EC2- Linux Server Configuration
Troubleshooting EC2- Linux Server ConfigurationArchanaDeviKapaliVij
 
15-ways-to-optimize-spring-boot-for-the-cloud
15-ways-to-optimize-spring-boot-for-the-cloud15-ways-to-optimize-spring-boot-for-the-cloud
15-ways-to-optimize-spring-boot-for-the-cloudBilly Korando
 
Unity and Azure Mobile Services using Prime31 plugin
Unity and Azure Mobile Services using Prime31 pluginUnity and Azure Mobile Services using Prime31 plugin
Unity and Azure Mobile Services using Prime31 pluginDavid Douglas
 
Jenkins Setup Document
Jenkins Setup DocumentJenkins Setup Document
Jenkins Setup Documentmobi fly
 
15 ways-to-optimize-spring-boot-for-the-cloud
15 ways-to-optimize-spring-boot-for-the-cloud15 ways-to-optimize-spring-boot-for-the-cloud
15 ways-to-optimize-spring-boot-for-the-cloudPolyglotMeetups
 
New features of Azure Cloud Provider at OCP 3.10
New features of Azure Cloud Provider at OCP 3.10New features of Azure Cloud Provider at OCP 3.10
New features of Azure Cloud Provider at OCP 3.10Takayoshi Tanaka
 
ApppiumDoc_version2015
ApppiumDoc_version2015ApppiumDoc_version2015
ApppiumDoc_version2015Amit DEWAN
 
Midas - on-the-fly schema migration tool for MongoDB.
Midas - on-the-fly schema migration tool for MongoDB.Midas - on-the-fly schema migration tool for MongoDB.
Midas - on-the-fly schema migration tool for MongoDB.Dhaval Dalal
 
Docker on Windows - 101 to Production (half-day workshop)
Docker on Windows - 101 to Production (half-day workshop)Docker on Windows - 101 to Production (half-day workshop)
Docker on Windows - 101 to Production (half-day workshop)Elton Stoneman
 
"Don’t Run with Scissors: Serverless Security Survival Guide" | Hillel Solow,...
"Don’t Run with Scissors: Serverless Security Survival Guide" | Hillel Solow,..."Don’t Run with Scissors: Serverless Security Survival Guide" | Hillel Solow,...
"Don’t Run with Scissors: Serverless Security Survival Guide" | Hillel Solow,...LCloud
 

What's hot (17)

SELENIUM SCRIPTS FOR DASHBOARD UI
SELENIUM SCRIPTS FOR DASHBOARD UISELENIUM SCRIPTS FOR DASHBOARD UI
SELENIUM SCRIPTS FOR DASHBOARD UI
 
Java – azure integration
Java – azure integrationJava – azure integration
Java – azure integration
 
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
 
Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10
 
Troubleshooting EC2- Linux Server Configuration
Troubleshooting EC2- Linux Server ConfigurationTroubleshooting EC2- Linux Server Configuration
Troubleshooting EC2- Linux Server Configuration
 
SDAccel Design Contest: How to use SDAccel on AWS
SDAccel Design Contest: How to use SDAccel on AWSSDAccel Design Contest: How to use SDAccel on AWS
SDAccel Design Contest: How to use SDAccel on AWS
 
15-ways-to-optimize-spring-boot-for-the-cloud
15-ways-to-optimize-spring-boot-for-the-cloud15-ways-to-optimize-spring-boot-for-the-cloud
15-ways-to-optimize-spring-boot-for-the-cloud
 
Unity and Azure Mobile Services using Prime31 plugin
Unity and Azure Mobile Services using Prime31 pluginUnity and Azure Mobile Services using Prime31 plugin
Unity and Azure Mobile Services using Prime31 plugin
 
Jenkins Setup Document
Jenkins Setup DocumentJenkins Setup Document
Jenkins Setup Document
 
15 ways-to-optimize-spring-boot-for-the-cloud
15 ways-to-optimize-spring-boot-for-the-cloud15 ways-to-optimize-spring-boot-for-the-cloud
15 ways-to-optimize-spring-boot-for-the-cloud
 
Ionic2
Ionic2Ionic2
Ionic2
 
New features of Azure Cloud Provider at OCP 3.10
New features of Azure Cloud Provider at OCP 3.10New features of Azure Cloud Provider at OCP 3.10
New features of Azure Cloud Provider at OCP 3.10
 
ApppiumDoc_version2015
ApppiumDoc_version2015ApppiumDoc_version2015
ApppiumDoc_version2015
 
Midas - on-the-fly schema migration tool for MongoDB.
Midas - on-the-fly schema migration tool for MongoDB.Midas - on-the-fly schema migration tool for MongoDB.
Midas - on-the-fly schema migration tool for MongoDB.
 
Docker on Windows - 101 to Production (half-day workshop)
Docker on Windows - 101 to Production (half-day workshop)Docker on Windows - 101 to Production (half-day workshop)
Docker on Windows - 101 to Production (half-day workshop)
 
"Don’t Run with Scissors: Serverless Security Survival Guide" | Hillel Solow,...
"Don’t Run with Scissors: Serverless Security Survival Guide" | Hillel Solow,..."Don’t Run with Scissors: Serverless Security Survival Guide" | Hillel Solow,...
"Don’t Run with Scissors: Serverless Security Survival Guide" | Hillel Solow,...
 
Php ppt
Php pptPhp ppt
Php ppt
 

Similar to Build, Deploy and Run Node Js Application on Azure using Docker

Dockerized .Net Core based app services in azure K8s
Dockerized .Net Core based app services in azure K8s Dockerized .Net Core based app services in azure K8s
Dockerized .Net Core based app services in azure K8s Ranjeet Bhargava
 
Build containerized application using Docker and Azure.pdf
Build containerized application using Docker and Azure.pdfBuild containerized application using Docker and Azure.pdf
Build containerized application using Docker and Azure.pdfHamida Rebai Trabelsi
 
Rome .NET Conference 2024 - Remote Conference
Rome .NET Conference 2024  - Remote ConferenceRome .NET Conference 2024  - Remote Conference
Rome .NET Conference 2024 - Remote ConferenceHamida Rebai Trabelsi
 
Setting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntuSetting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntukesavan N B
 
Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to AdvanceParas Jain
 
How to Dockerize Web Application using Docker Compose
How to Dockerize Web Application using Docker ComposeHow to Dockerize Web Application using Docker Compose
How to Dockerize Web Application using Docker ComposeEvoke Technologies
 
Getting started docker notes
Getting started docker notesGetting started docker notes
Getting started docker notesAJAY NAYAK
 
Code and Deploy Angular to the Cloud
Code and Deploy Angular to the CloudCode and Deploy Angular to the Cloud
Code and Deploy Angular to the CloudSimona Cotin
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandTroublemaker Khunpech
 
B14870 solution final
B14870 solution finalB14870 solution final
B14870 solution finalssuser8f0495
 
How to dockerize rails application compose and rails tutorial
How to dockerize rails application compose and rails tutorialHow to dockerize rails application compose and rails tutorial
How to dockerize rails application compose and rails tutorialKaty Slemon
 
DevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux ContainersDevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux Containersinside-BigData.com
 
DCHQ Cloud Application Platform | Linux Containers | Docker PaaS
DCHQ Cloud Application Platform | Linux Containers | Docker PaaSDCHQ Cloud Application Platform | Linux Containers | Docker PaaS
DCHQ Cloud Application Platform | Linux Containers | Docker PaaSdchq
 
What Is AWS Elastic Kubernetes Service
 What Is AWS Elastic Kubernetes Service What Is AWS Elastic Kubernetes Service
What Is AWS Elastic Kubernetes ServiceAMELIAOLIVIA2
 

Similar to Build, Deploy and Run Node Js Application on Azure using Docker (20)

Dockerized .Net Core based app services in azure K8s
Dockerized .Net Core based app services in azure K8s Dockerized .Net Core based app services in azure K8s
Dockerized .Net Core based app services in azure K8s
 
Build containerized application using Docker and Azure.pdf
Build containerized application using Docker and Azure.pdfBuild containerized application using Docker and Azure.pdf
Build containerized application using Docker and Azure.pdf
 
Rome .NET Conference 2024 - Remote Conference
Rome .NET Conference 2024  - Remote ConferenceRome .NET Conference 2024  - Remote Conference
Rome .NET Conference 2024 - Remote Conference
 
Setting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntuSetting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntu
 
docker.docx
docker.docxdocker.docx
docker.docx
 
Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to Advance
 
How to Dockerize Web Application using Docker Compose
How to Dockerize Web Application using Docker ComposeHow to Dockerize Web Application using Docker Compose
How to Dockerize Web Application using Docker Compose
 
Getting started docker notes
Getting started docker notesGetting started docker notes
Getting started docker notes
 
Code and Deploy Angular to the Cloud
Code and Deploy Angular to the CloudCode and Deploy Angular to the Cloud
Code and Deploy Angular to the Cloud
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
 
B14870 solution final
B14870 solution finalB14870 solution final
B14870 solution final
 
Overview of Docker
Overview of DockerOverview of Docker
Overview of Docker
 
Docker
DockerDocker
Docker
 
How to dockerize rails application compose and rails tutorial
How to dockerize rails application compose and rails tutorialHow to dockerize rails application compose and rails tutorial
How to dockerize rails application compose and rails tutorial
 
Docker workshop GDSC_CSSC
Docker workshop GDSC_CSSCDocker workshop GDSC_CSSC
Docker workshop GDSC_CSSC
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
DevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux ContainersDevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux Containers
 
DCHQ Cloud Application Platform | Linux Containers | Docker PaaS
DCHQ Cloud Application Platform | Linux Containers | Docker PaaSDCHQ Cloud Application Platform | Linux Containers | Docker PaaS
DCHQ Cloud Application Platform | Linux Containers | Docker PaaS
 
What Is AWS Elastic Kubernetes Service
 What Is AWS Elastic Kubernetes Service What Is AWS Elastic Kubernetes Service
What Is AWS Elastic Kubernetes Service
 
Azure workshop
Azure workshopAzure workshop
Azure workshop
 

More from Osama Mustafa

Case study for software architect
Case study for software architectCase study for software architect
Case study for software architectOsama Mustafa
 
Does cloud mean the end of the dba
Does cloud mean the end of the dbaDoes cloud mean the end of the dba
Does cloud mean the end of the dbaOsama Mustafa
 
Using git hub for your code
Using git hub for your codeUsing git hub for your code
Using git hub for your codeOsama Mustafa
 
Java business service
Java business serviceJava business service
Java business serviceOsama Mustafa
 
Steps creating data_integration_services
Steps creating data_integration_servicesSteps creating data_integration_services
Steps creating data_integration_servicesOsama Mustafa
 
Oracle api gateway installation as cluster and single node
Oracle api gateway installation as cluster and single nodeOracle api gateway installation as cluster and single node
Oracle api gateway installation as cluster and single nodeOsama Mustafa
 
Helping implementer dealing with famous siebel based system messages and er...
Helping implementer dealing with famous siebel   based system messages and er...Helping implementer dealing with famous siebel   based system messages and er...
Helping implementer dealing with famous siebel based system messages and er...Osama Mustafa
 
Weblogic 101 for dba
Weblogic  101 for dbaWeblogic  101 for dba
Weblogic 101 for dbaOsama Mustafa
 
Oracle obia 11.1.1.10.1 installation
Oracle obia 11.1.1.10.1 installation Oracle obia 11.1.1.10.1 installation
Oracle obia 11.1.1.10.1 installation Osama Mustafa
 
Oracle Enterprise manager 13c Installation
Oracle Enterprise manager 13c InstallationOracle Enterprise manager 13c Installation
Oracle Enterprise manager 13c InstallationOsama Mustafa
 
Erp installation r12.2
Erp installation r12.2Erp installation r12.2
Erp installation r12.2Osama Mustafa
 
Upgrade EBS DB from 11g to 12c.
Upgrade EBS DB from 11g to 12c.Upgrade EBS DB from 11g to 12c.
Upgrade EBS DB from 11g to 12c.Osama Mustafa
 
Eouc 12 on 12c osama mustafa
Eouc 12 on 12c osama mustafaEouc 12 on 12c osama mustafa
Eouc 12 on 12c osama mustafaOsama Mustafa
 
Install oracle siebel on windows 2008 r2
Install oracle siebel on windows 2008 r2Install oracle siebel on windows 2008 r2
Install oracle siebel on windows 2008 r2Osama Mustafa
 
Enable oracle database vault
Enable oracle database vaultEnable oracle database vault
Enable oracle database vaultOsama Mustafa
 

More from Osama Mustafa (20)

Case study for software architect
Case study for software architectCase study for software architect
Case study for software architect
 
DevOps for database
DevOps for databaseDevOps for database
DevOps for database
 
Does cloud mean the end of the dba
Does cloud mean the end of the dbaDoes cloud mean the end of the dba
Does cloud mean the end of the dba
 
Using git hub for your code
Using git hub for your codeUsing git hub for your code
Using git hub for your code
 
DevOps Project
DevOps Project DevOps Project
DevOps Project
 
Java business service
Java business serviceJava business service
Java business service
 
Steps creating data_integration_services
Steps creating data_integration_servicesSteps creating data_integration_services
Steps creating data_integration_services
 
Oracle api gateway installation as cluster and single node
Oracle api gateway installation as cluster and single nodeOracle api gateway installation as cluster and single node
Oracle api gateway installation as cluster and single node
 
Helping implementer dealing with famous siebel based system messages and er...
Helping implementer dealing with famous siebel   based system messages and er...Helping implementer dealing with famous siebel   based system messages and er...
Helping implementer dealing with famous siebel based system messages and er...
 
Weblogic and docker
Weblogic and dockerWeblogic and docker
Weblogic and docker
 
Weblogic 101 for dba
Weblogic  101 for dbaWeblogic  101 for dba
Weblogic 101 for dba
 
Ebs clone r12.2.4
Ebs clone r12.2.4Ebs clone r12.2.4
Ebs clone r12.2.4
 
Oracle obia 11.1.1.10.1 installation
Oracle obia 11.1.1.10.1 installation Oracle obia 11.1.1.10.1 installation
Oracle obia 11.1.1.10.1 installation
 
Oracle Enterprise manager 13c Installation
Oracle Enterprise manager 13c InstallationOracle Enterprise manager 13c Installation
Oracle Enterprise manager 13c Installation
 
Erp installation r12.2
Erp installation r12.2Erp installation r12.2
Erp installation r12.2
 
OBIA Installation
OBIA Installation OBIA Installation
OBIA Installation
 
Upgrade EBS DB from 11g to 12c.
Upgrade EBS DB from 11g to 12c.Upgrade EBS DB from 11g to 12c.
Upgrade EBS DB from 11g to 12c.
 
Eouc 12 on 12c osama mustafa
Eouc 12 on 12c osama mustafaEouc 12 on 12c osama mustafa
Eouc 12 on 12c osama mustafa
 
Install oracle siebel on windows 2008 r2
Install oracle siebel on windows 2008 r2Install oracle siebel on windows 2008 r2
Install oracle siebel on windows 2008 r2
 
Enable oracle database vault
Enable oracle database vaultEnable oracle database vault
Enable oracle database vault
 

Recently uploaded

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

Build, Deploy and Run Node Js Application on Azure using Docker

  • 1. Build, Deploy and Run Node Js Application on Azure using Docker Osama Mustafa P a g e | 1 This documentation explains step by step how to Build, Deploy and Run Node.js application on Azure using docker. The following Source code will be used as test and can be checked from here. Requirements:- • Azure Account (Sign up for a free $200 credit) • Git (Install on the computer) • Docker (Install on the computer) • Node.js (you can use the above link to clone the code). Let’s work !!! Step #1:- After logging to the Azure account, as initial step we must create something called container registry ( ACR will be used later as refer to Azure container Registry) which allows you to store your custom container images privately in the Azure cloud. Access to azure portal from the following link :- https://portal.azure.com/ Figure 1 Create container Registry Then After access the container registry page, press add
  • 2. Build, Deploy and Run Node Js Application on Azure using Docker Osama Mustafa P a g e | 2 Figure 2 add ACR Screen And fill the information depends on the requirement you have. Figure 3 Create ACR And Press create. Wait for couple of second/minute till it will be created, azure will notify you (Notification section) once it’s completed. Step #2:- Once the ACR will be created, press on it, and it will take you to the information about the created ACR, the following information will be needed later.
  • 3. Build, Deploy and Run Node Js Application on Azure using Docker Osama Mustafa P a g e | 3 Figure 4 ACR Login information Step #3:- We need to check the docker login, open Power shell/terminal depends on operating system you are using, to authenticate to ACR and validate the credentials. Figure 5 Test docker Login using ACR information
  • 4. Build, Deploy and Run Node Js Application on Azure using Docker Osama Mustafa P a g e | 4 Figure 6 Test Result, Login Succeeded You should see a message that says, “login succeeded”. As Figure 6. Step #4:- We need to clone the sample code from https://bitbucket.org/network-international/node-js-getting-started/src/master/ Git command should be installed, to do this just press on this link here. Fire the below command on the PowerShell/terminal/command promote. git clone https://github.com/heroku/node-js-getting-started.git Figure 7 Using Git to clone the code After you've cloned the repo, switch into the application directory: You will find files, create file call it Dockerfile (without any extension).
  • 5. Build, Deploy and Run Node Js Application on Azure using Docker Osama Mustafa P a g e | 5 Figure 8 Dockerfile inside cloned repo Inside the file write the following :- Descriptions : - • FROM node:alpine, The FROM command defines the base container image, and the operating system will be Alpine Linux. • WORKDIR /usr/app define the working directory and is where we'll store the application code and if it’s not exists on the OS will be created during the process. • COPY package*.json ./ used during the build process to add the package.json and package-lock.json files to the working directory. • RUN npm install used to execute npm install which will ensure our application dependencies are included within the container image. • COPY . . this is to copy the application source files into the working directory. • CMD ["npm", "start"] defines the default command to execute when the container starts. Step #5:- To do this step, you should be in the same directory as the Dockerfile. Use the docker build command to create your container image, the below command will tell Docker to build your image using the Dockerfile in the current directory. FROM node:alpine WORKDIR /usr/app COPY package*.json ./ RUN npm install COPY . . CMD ["npm", "start"] docker build -t demonetwork.azurecr.io/node-docker-demo:latest .
  • 6. Build, Deploy and Run Node Js Application on Azure using Docker Osama Mustafa P a g e | 6 Figure 9 Build docker image using dockerfile Step #6:- Now we test the login to our docker before, let’s push our image to ACR using the below command, Figure 10 Push the docker Image to ACR docker push demonetwork.azurecr.io/node-docker-demo:latest
  • 7. Build, Deploy and Run Node Js Application on Azure using Docker Osama Mustafa P a g e | 7 Figure 11 Pushing the docker image completed After the command completes successfully, you can head back to the Azure portal to verify that your image is now available in ACR. Figure 12 Verify the command Step #7:- The final step, which is expose the docker application using URL, Azure make this step easy, by creating resource called Web App for containers, to do this just follow the below figures. In the Azure portal, select Create a resource, select Web in the Azure Marketplace, and choose Web App for containers.
  • 8. Build, Deploy and Run Node Js Application on Azure using Docker Osama Mustafa P a g e | 8 Figure 13 Create web app for containers Press on web app for containers Figure 14 Create Web App for containers New page will be open, fill the information, such as the name of instance, will be publish either on Linux or docker container ( our case) , don’t press review + create, press Next: Docker, so you will be able to configure the web app.
  • 9. Build, Deploy and Run Node Js Application on Azure using Docker Osama Mustafa P a g e | 9 Figure 15 Web App Instance details The next screen, which is docker, as you see, I choose “ azure container Registry” and from the drop list, will be appeared our options. Figure 16 web app container configuration Press review creates.
  • 10. Build, Deploy and Run Node Js Application on Azure using Docker Osama Mustafa P a g e | 10 Figure 17 Web App Summary Page Wait for couple of seconds and it will be created. Figure 18 Final Result with URL for the new deployed code As you see if you check the URL and press on it This is the result. https://networktask.azurewebsites.net
  • 11. Build, Deploy and Run Node Js Application on Azure using Docker Osama Mustafa P a g e | 11