Building an NodeJS App Docker Image with Dockerfile


Dockerfile is a script that having the command and while deployment the docker image container We will get up and running service which configured with commands.


  • Basic knowledge of Docker.
  • Basic knowledge of Linux commands.

Step 1: Create a nodeJS Directory

To begin, we set up a directory just for nodeJS-related files by employing the mkdir command.

mkdir nodejs

Step 2: Create a Dockerfile

Now that we have created a folder, we can use the nano editor to create a Dockerfile within that folder:

nano Dockerfile

Paste the following commands.

FROM node:latest


COPY package*.json ./

RUN npm install

COPY . .


CMD ["npm", "start"]

Save and exit from the nano text editor.

This Dockerfile uses the latest version of the official Node.js image as the base image. The WORKDIR command sets the current working directory to /app. The COPY command copies the package*.json files from the host machine to the container’s /app directory. The RUN command runs the npm install command to install all the dependencies specified in the package.json files. The next COPY command copies all the files from the host machine to the container. The EXPOSE command tells Docker that the container will listen on port 3000. The CMD command runs the npm start command to start the Node.js application.

You may want to adjust the command according to your needs and also this is a basic setup for running a Node.js app with no additional configurations.

Step 3: Building nodeJS Docker Image

The docker build command is now used to construct the Dockerfile. within which we give our image a custom name (such as nodejs_image) and tag it with the 1.0.0 suffix.

docker build -t nodejs_image:1.0.0 .

The docker images command should be used to verify the image’s existence after it has been constructed.

We can see a list of all the images that have been created or obtained from any public or private registry using the docker images command.

Step 4: Deploy nodeJS App Container

Run the image locally as a container after it has been built:

We use detached mode to run the container continuously in the background. In the docker run command, include -d.
We provide port 3000. To have the server run on localhost, use -p 3000:3000.
As a result, the docker run command also uses the image and the tag that goes with it as input to run the container.

docker run --name custom_nodejs -d -p 3000:3000 nodejs_image:1.0.0

Step 5: Testing NodeJS App Test Page

Go to any local browser and type localhost to see if the Apache server is present.



We have successfully build nodeJS custom image from scratch dockerfile on ubuntu 22.04 LTS, If you still have questions, please post them in the comments section below.


Building an NodeJS App Docker Image with Dockerfile

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top