3 changed files with 74 additions and 0 deletions
@ -0,0 +1,19 @@ |
|||
FROM node:10 |
|||
|
|||
# Create app directory |
|||
WORKDIR /usr/src/app |
|||
|
|||
# Install app dependencies |
|||
# A wildcard is used to ensure both package.json AND package-lock.json are copied |
|||
# where available (npm@5+) |
|||
COPY package*.json ./ |
|||
|
|||
RUN npm install |
|||
# If you are building your code for production |
|||
# RUN npm ci --only=production |
|||
|
|||
# Bundle app source |
|||
COPY . . |
|||
|
|||
EXPOSE 8080 |
|||
CMD [ "node", "app.js" ] |
@ -0,0 +1,39 @@ |
|||
version: "3.6" |
|||
|
|||
services: |
|||
app: |
|||
build: |
|||
context: . |
|||
dockerfile: Dockerfile |
|||
image: xrazis/nodejs-project |
|||
volumes: |
|||
- /usr/src/app/ |
|||
restart: unless-stopped |
|||
ports: |
|||
- "3000:3000" |
|||
networks: |
|||
- node-network |
|||
deploy: |
|||
mode: replicated |
|||
replicas: 9 |
|||
placement: |
|||
constraints: |
|||
- node.role==worker |
|||
resources: |
|||
limits: |
|||
cpus: "0.50" |
|||
memory: 50M |
|||
reservations: |
|||
cpus: "0.25" |
|||
memory: 20M |
|||
restart_policy: |
|||
condition: on-failure |
|||
delay: 5s |
|||
max_attempts: 3 |
|||
window: 120s |
|||
|
|||
networks: |
|||
node-network: |
|||
driver: overlay |
|||
volumes: |
|||
node-vol: |
@ -0,0 +1,16 @@ |
|||
default: |
|||
PATH=/usr/bin:/usr/local/bin |
|||
|
|||
AWS_ACCESS_KEY_ID=d4bb2d45395befe5f29f54a9c219a2559ee1bfaab64fce897001c209a52516f4 AWS_SECRET_ACCESS_KEY=e5ed1e5812522fcfe0624c75e20ebe9f72435855e4ef26c1f3b018918744e1a1 /usr/local/bin/aws --endpoint-url https://83.212.77.30:9443 s3 sync s3://nodebucket /home/user/docker_node_image/localdir --delete --no-verify-ssl |
|||
|
|||
rm -rf app |
|||
|
|||
cp -a /home/user/docker_node_image/localdir/. /home/user/docker_node_image/app |
|||
cp -a /home/user/docker_node_image/docker-compose.yml /home/user/docker_node_image/app |
|||
cp -a /home/user/docker_node_image/Dockerfile /home/user/docker_node_image/app |
|||
|
|||
docker stack rm node_stack |
|||
|
|||
docker build --pull --rm -f "app/Dockerfile" -t xrazis/nodejs-project "app" |
|||
docker push xrazis/nodejs-project:latest |
|||
docker stack deploy --compose-file=docker-compose.yml node_stack |
Loading…
Reference in new issue