Shoulder.dev Logo Shoulder.dev

Docker - gothinkster/node-express-realworld-example-app

Docker is a platform that allows developers to automate the deployment, scaling, and management of applications using containerization technology. Containerization is the process of packaging an application and its dependencies into a standardized unit for software development, called a container.

To containerize the application in the given project, we can follow these steps:

  1. Create a Dockerfile in the root directory of the project.
  2. Define the base image for the container. In this case, we can use the official Node.js image from Docker Hub.
  3. Copy the project files into the container.
  4. Install the project dependencies.
  5. Expose the port that the application will run on.
  6. Define the command to start the application.

Here's an example Dockerfile for the project:

# Use the official Node.js 14 image as the base image
FROM node:14

# Set the working directory to /app
WORKDIR /app

# Copy the package.json and package-lock.json files to the container
COPY package*.json ./

# Install the project dependencies
RUN npm install

# Copy the rest of the project files to the container
COPY . .

# Expose port 3000 for the application
EXPOSE 3000

# Define the command to start the application
CMD ["npm", "start"]

To build the Docker image, run the following command in the same directory as the Dockerfile:

docker build -t my-node-app .

This will build the Docker image with the tag my-node-app.

To run the Docker container, use the following command:

docker run -p 3000:3000 my-node-app

This will run the container and map port 3000 on the host machine to port 3000 in the container.

Sources: