Skip to content

docs: update examples to Node.js 22 and modernize Docker Compose syntax #2243

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 5 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ See: http://nodejs.org

```dockerfile
# specify the node base image with your desired version node:<version>
FROM node:16
FROM node:22
# replace this with your application's default port
EXPOSE 8888
```
Expand All @@ -67,21 +67,18 @@ $ docker run -it --rm --name my-running-app my-nodejs-app
If you prefer Docker Compose:

```yml
version: "2"
services:
node:
image: "node:8"
image: "node:22"
user: "node"
working_dir: /home/node/app
environment:
- NODE_ENV=production
volumes:
- ./:/home/node/app
expose:
- "8081"
ports: # use if it is necessary to expose the container to the host machine
- "8001:8001"
command: "npm start"
- "8888:8888"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One last question: is there any reference information here that can help us confirm whether changing from port 8001 to 8888 is a better, more widely used, and more modern approach? Thanks!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My only intention was to clear up the confusion between 8081 and 8001. I prefer 8888 because it's easier to type.

SpeedGuide.net has a port usage list that may help you make a decision.

https://www.speedguide.net/port.php?port=PORT

command: ["npm", "start"]
```

You can then run using Docker Compose:
Expand All @@ -105,7 +102,7 @@ complete `Dockerfile`. In such cases, you can run a Node.js script by using the
Node.js Docker image directly:

```console
$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/app -w /usr/src/app node:8 node your-daemon-or-script.js
$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/app -w /usr/src/app node:22 node your-daemon-or-script.js
```

### Verbosity
Expand Down