mirror of
https://github.com/docker/awesome-compose.git
synced 2025-04-26 10:43:35 +02:00
react-express-mongodb: rename server to backend
The goal here is to keep the same structure than the other examples. Also, considering that it has a "frontend" folder, the equivalent for the server should be "backend". Signed-off-by: Jérémie Drouet <jeremie.drouet@gmail.com>
This commit is contained in:
parent
e29f0d1c54
commit
be8875c9b6
16 changed files with 8 additions and 8 deletions
41
react-express-mongodb/backend/README.md
Normal file
41
react-express-mongodb/backend/README.md
Normal file
|
@ -0,0 +1,41 @@
|
|||
#### Snippet of backend(Node.js)`DockerFile`
|
||||
|
||||
You will find this `DockerFile` file in the root directory of the project.
|
||||
|
||||
```bash
|
||||
FROM node:13.13.0-stretch-slim
|
||||
#Argument that is passed from docer-compose.yaml file
|
||||
ARG NODE_PORT
|
||||
#Echo the argument to check passed argument loaded here correctly
|
||||
RUN echo "Argument port is : $NODE_PORT"
|
||||
# Create app directory
|
||||
WORKDIR /usr/src/app
|
||||
#COPY . .
|
||||
COPY . .
|
||||
# Install app dependencies
|
||||
# A wildcard is used to ensure both package.json AND package-lock.json are copied
|
||||
# where available (npm@5+)
|
||||
RUN npm install
|
||||
#In my case my app binds to port NODE_PORT so you'll use the EXPOSE instruction to have it mapped by the docker daemon:
|
||||
EXPOSE ${NODE_PORT}
|
||||
CMD npm run dev
|
||||
```
|
||||
|
||||
##### Explanation of backend(Node.js) `DockerFile`
|
||||
|
||||
- The first line tells Docker to use another Node image from the [DockerHub](https://hub.docker.com/). We’re using the official Docker image for Node.js and it’s version 10 image.
|
||||
|
||||
- On second line we declare argument `NODE_PORT` which we will pass it from `docker-compose`.
|
||||
|
||||
- On third line we log to check argument is successfully read
|
||||
|
||||
- On fourth line we sets a working directory from where the app code will live inside the Docker container.
|
||||
|
||||
- On fifth line, we are copying/bundling our code working directory into container working directory on line three.
|
||||
|
||||
- On line seven, we run npm install for dependencies in container on line four.
|
||||
|
||||
- On Line eight, we setup the port, that Docker will expose when the container is running. In our case it is the port which we define inside `.env` file, read it from `docker-compose` then passed as a argument to the (backend)`DockerFile`.
|
||||
|
||||
- And in last, we tell docker to execute our app inside the container by using node to run `npm run dev. It is the command which I registered in __package.json__ in script section.
|
||||
###### :clipboard: `Note: For development purpose I used __nodemon__ , If you need to deploy at production you should change CMD from __npm run dev__ to __npm start__.`
|
Loading…
Add table
Add a link
Reference in a new issue