xrazis
5 years ago
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