diff --git a/Dockerfile b/Dockerfile index 8212c4d..b7bac53 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,32 +1,37 @@ -FROM node:16 +# Estágio 1: Build +FROM node:16-bullseye-slim AS builder +WORKDIR /app +COPY package*.json ./ +RUN npm install --legacy-peer-deps +COPY . . +RUN npm run build +FROM node:16-bullseye-slim +# Instalar dependências do Oracle RUN apt-get update && apt-get install -y \ - apt-transport-https \ - ca-certificates \ libaio1 \ unzip \ wget \ - libc6 \ - libncurses5 && \ - mkdir -p /opt/oracle && \ - wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linuxx64.zip -O /opt/oracle/instantclient-basic-linuxx64.zip && \ - unzip /opt/oracle/instantclient-basic-linuxx64.zip -d /opt/oracle && \ - rm /opt/oracle/instantclient-basic-linuxx64.zip && \ - ln -s /opt/oracle/instantclient_* /opt/oracle/instantclient && \ - echo "/opt/oracle/instantclient" > /etc/ld.so.conf.d/oracle-instantclient.conf && \ - ldconfig + && mkdir -p /opt/oracle +# Instalar Oracle Instant Client +RUN wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linuxx64.zip -O /opt/oracle/client.zip && \ + unzip /opt/oracle/client.zip -d /opt/oracle && \ + rm /opt/oracle/client.zip && \ + ln -s /opt/oracle/instantclient_* /opt/oracle/instantclient + +# Configurar o sistema para encontrar as bibliotecas do Oracle +ENV LD_LIBRARY_PATH=/opt/oracle/instantclient +RUN echo "/opt/oracle/instantclient" > /etc/ld.so.conf.d/oracle-instantclient.conf && ldconfig WORKDIR /app +# Copiar apenas o necessário do estágio anterior +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/package*.json ./ +COPY --from=builder /app/node_modules ./node_modules -COPY package*.json ./ - - -RUN npm install --legacy-peer-deps - -COPY . . - - -CMD ["npm", "run", "start:prod"] \ No newline at end of file +# Variáveis de ambiente padrão para o driver oracledb +ENV OCI_LIB_DIR=/opt/oracle/instantclient +ENV OCI_INC_DIR=/opt/oracle/instantclient/sdk/include \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 6aa3eac..025afbe 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,14 +1,18 @@ version: '3.8' services: - vendaweb: - image: link70/vendaweb - deploy: - replicas: 20 - resources: - limits: - cpus: '0.5' - memory: 512M + vendaweb-api: + image: http://10.1.1.124:8082/library/vendaweb-api:latest ports: - "8065:8065" - restart: always \ No newline at end of file + networks: + - juru-network + deploy: + replicas: 4 + update_config: + order: start-first + parallelism: 1 + +networks: + juru-network: + external: true \ No newline at end of file