ka1kuk commited on
Commit
874a2c3
1 Parent(s): 5efabd1

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +24 -19
Dockerfile CHANGED
@@ -1,27 +1,32 @@
1
- FROM node:18
 
2
 
3
- # Set up a new user named "user" with user ID 1000
4
- RUN useradd -o -u 1000 user
 
 
5
 
6
- # Switch to the "user" user
7
- USER user
 
 
 
8
 
9
- # Set home to the user's home directory
10
- ENV HOME=/home/user \
11
- PATH=/home/user/.local/bin:$PATH
12
 
13
- # Set the working directory to the user's home directory
14
- WORKDIR $HOME/app
15
-
16
- # Install app dependencies
17
- # A wildcard is used to ensure both package.json AND package-lock.json are copied
18
- # where available (npm@5+)
19
- COPY --chown=user package*.json $HOME/app
20
 
 
21
  RUN npm install
22
 
23
- # Copy the current directory contents into the container at $HOME/app setting the owner to the user
24
- COPY --chown=user . $HOME/app
25
-
26
  EXPOSE 7860
27
- CMD [ "npm", "run", "start" ]
 
 
 
 
 
 
 
1
+ # from official image
2
+ FROM ubuntu:18.04
3
 
4
+ # key-value pairs
5
+ # allow more than one
6
+ #
7
+ LABEL version="1.0"
8
 
9
+ # install package
10
+ RUN apt-get update
11
+ RUN apt-get install -y curl sudo
12
+ RUN curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
13
+ RUN apt-get install -y nodejs
14
 
15
+ # set working directory to /app
16
+ WORKDIR /app
 
17
 
18
+ # copy index.js from current directory into the container at /app
19
+ COPY . /app
 
 
 
 
 
20
 
21
+ # install need packages specified in package.json
22
  RUN npm install
23
 
24
+ # expose port 7860 for acessing the app
 
 
25
  EXPOSE 7860
26
+
27
+ # This allows Heroku bind its PORT the Apps port
28
+ # since Heroku needs to use its own PORT before the App can be made accessible to the World
29
+ EXPOSE $PORT
30
+
31
+ # run app when container launches
32
+ CMD ["node", "app.js"]