-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathDockerfile
More file actions
55 lines (41 loc) · 1.64 KB
/
Dockerfile
File metadata and controls
55 lines (41 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#ETAPA DE GERAÇÃO DOS ARQUIVOS ESTÁTICOS DO FRONT-END (ANGULAR) E DOWNLOAD E EXTRAÇÃO DO JDK
FROM openjdk:17-alpine as frontjava
#PORTA PADRÃO DO TOMCAT
EXPOSE 8080
#PORTA PADRÃO DO POSTGRESQL
EXPOSE 5432
#RUN mkdir -p /app/jdk
#WORKDIR /app/jdk
RUN mkdir -p /app/backend
WORKDIR /app/backend
COPY backend .
#CRIAÇÃO DO .JAR DA APLICAÇÃO
RUN ./mvnw package
RUN mkdir -p /app/jdk && cp -r $JAVA_HOME/* /app/jdk
#Verifica se a JDK que estamos usando tem $JAVA_HOME/lib/security/cacerts sendo um
#link simbólico apontando para um outro diretório do sistema.
#Se tiver, substitui esse link simbólico pelo arquivo original.
RUN if test -L /app/jdk/lib/security/cacerts ; then \
caminho_original=$(realpath $JAVA_HOME/lib/security/cacerts) && \
rm /app/jdk/lib/security/cacerts && \
cp $caminho_original /app/jdk/lib/security && \
ls -l /app/jdk/lib/security/cacerts ; \
fi
#ETAPA DE INICIALIZAÇÃO DO POSTGRESQL
FROM postgres:alpine
#VARIÁVEIS DE AMBIENTE QUE SÃO USADAS PELA IMAGEM DO POSTGRES PARA CRIAR O BANCO E O USUÁRIO NA INICIALIZAÇÃO
#ESTE BANCO É APENAS DE TESTES, NÃO TENDO PROBLEMA EM EXPOR OS DADOS DE ACESSO DESSA FORMA
ENV POSTGRES_DB postgres
ENV POSTGRES_USER postgres
ENV POSTGRES_PASSWORD postgres123
#GERANDO PASTA E COPIANDO OS ARQUVIOS DE CRIAÇÃO E INSERÇÃO DO BANCO DE DADOS PARA O CONTAINER
RUN mkdir -p /docker-entrypoint-initdb.d
WORKDIR /docker-entrypoint-initdb.d
COPY scripts .
RUN mkdir -p /app
RUN mkdir -p /app/jdk
WORKDIR /app
#JOGA O .JAR GERADO NA ETAPA ANTERIOR PARA O DIRETÓRIO ATUAL
COPY --from=frontjava /app/backend/target/*.jar .
COPY --from=frontjava /app/jdk /app/jdk
RUN chmod +x /app/jdk/bin/*