forked from Fascinated/docs
running nodejs in docker guide
This commit is contained in:
parent
9b23c65ee1
commit
4070f91484
@ -11,3 +11,4 @@ dateCreated: 2023-06-27T11:06:59.640Z
|
|||||||
# Pages
|
# Pages
|
||||||
|
|
||||||
- [Creating a Simple REST API](/guides/nodejs/pages/creating-a-simple-rest-api)
|
- [Creating a Simple REST API](/guides/nodejs/pages/creating-a-simple-rest-api)
|
||||||
|
- [Running a NodeJS Application in Docker](/guides/nodejs/pages/running-nodejs-in-docker)
|
||||||
|
103
guides/nodejs/pages/running-nodejs-in-docker.md
Normal file
103
guides/nodejs/pages/running-nodejs-in-docker.md
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
---
|
||||||
|
title: Running a NodeJS application in Docker
|
||||||
|
description: Guide for running a NodeJS application in Docker
|
||||||
|
published: true
|
||||||
|
date: 2023-06-28T20:38:30.081Z
|
||||||
|
tags: nodejs, docker
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2023-06-28T20:38:59.640Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Running a NodeJS application in Docker
|
||||||
|
|
||||||
|
We will be using the guide [Creating a Simple REST API](/guides/nodejs/pages/creating-a-simple-rest-api) as the example application.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- Docker installed
|
||||||
|
- Docker Compose installed
|
||||||
|
|
||||||
|
## Get Started
|
||||||
|
|
||||||
|
1. First we need to create a new file called `Dockerfile`.
|
||||||
|
|
||||||
|
2. Next, we need to open the `Dockerfile` file and add the following code:
|
||||||
|
|
||||||
|
```dockerfile
|
||||||
|
FROM node:latest
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY package*.json ./
|
||||||
|
|
||||||
|
RUN npm install
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
EXPOSE 3000
|
||||||
|
|
||||||
|
CMD ["node", "index.js"]
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Now we can move on to the `docker-compose.yml` file. We need to create a new file called `docker-compose.yml`.
|
||||||
|
|
||||||
|
4. Next, we need to open the `docker-compose.yml` file and add the following code:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
version: "3.9"
|
||||||
|
|
||||||
|
services:
|
||||||
|
nodejs_rest_api:
|
||||||
|
build: .
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
```
|
||||||
|
|
||||||
|
This will create a new service called `nodejs_rest_api` and build the Docker image using the `Dockerfile` in the current directory.
|
||||||
|
|
||||||
|
5. You can now copyy the project files to where you want to run the application.
|
||||||
|
|
||||||
|
6. Next, we need to open the terminal and run the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
This will start the application in the background.
|
||||||
|
|
||||||
|
7. Next, we need to open a web browser and navigate to `http://server_ip:3000`.
|
||||||
|
|
||||||
|
You should now see your application running.
|
||||||
|
|
||||||
|
## Updating the application
|
||||||
|
|
||||||
|
1. First we need to open the terminal and run the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose down
|
||||||
|
```
|
||||||
|
|
||||||
|
This will stop the application.
|
||||||
|
|
||||||
|
2. Next, we need to update the application files. You can do this by copying the updated files to the server.
|
||||||
|
|
||||||
|
3. Next, we need to open the terminal and run the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose build
|
||||||
|
```
|
||||||
|
|
||||||
|
This will re-build the Docker image.
|
||||||
|
|
||||||
|
4. Next, we need to open the terminal and run the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
This will start the application in the background again.
|
||||||
|
|
||||||
|
## Finished
|
||||||
|
|
||||||
|
You have now successfully created a NodeJS application and run it in Docker and know how to update it.
|
Loading…
Reference in New Issue
Block a user