diff --git a/guides/nodejs/home.md b/guides/nodejs/home.md index 6fec6dc..b295ca9 100644 --- a/guides/nodejs/home.md +++ b/guides/nodejs/home.md @@ -11,3 +11,4 @@ dateCreated: 2023-06-27T11:06:59.640Z # Pages - [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) diff --git a/guides/nodejs/pages/running-nodejs-in-docker.md b/guides/nodejs/pages/running-nodejs-in-docker.md new file mode 100644 index 0000000..c764702 --- /dev/null +++ b/guides/nodejs/pages/running-nodejs-in-docker.md @@ -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.