-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
57 lines (55 loc) · 1.81 KB
/
docker-compose.yml
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
56
57
version: "3.1"
services:
# Serviço que irá rodar o node
app-trybesmith:
# Imagem base do containe
build: .
# Usuário linux padrão do container, não é recomendado usar root
# https://github.com/nodejs/docker-node/blob/main/docs/BestPractices.md#non-root-user
user: node
# Nome do container para facilitar execução
container_name: trybesmith_api
# Mesmo que `docker run -t`
tty: true
# Mesmo que `docker run -i`
stdin_open: true
# Substitui o comando padrão da imagem do node
command: npm run dev
image: trybesmith-api:8.5
# Restarta a imagem caso algo a faça parar
restart: always
# platform: linux/x86_64
# Lista de volumes (diretórios) mapeados de fora para dentro do container
volumes:
# Monta o diretório atual, com todos os dados do projeto,
# dentro do diretório /app
- ./:/app
# Lista de serviços do qual este serviço depende
depends_on:
# Precisa do banco funcionando antes de subir o node
- db
# Lista de portas mapeadas de dentro para fora do container
# na notação porta_de_fora:porta_de_dentro
ports:
# Expõe a porta padrão da aplicação: altere aqui caso use outra porta
- 3001:3001
# Configura as variáveis de ambiente dentro do container
environment:
DB_USER: root
DB_PASSWORD: password
DB_HOST: db
DB_PORT: 3306
DB_NAME: Trybesmith
JWT_SECRET: secret
# Serviço que irá rodar o banco de dados
db:
container_name: trybesmith_db
image: mysql:8.0.32
restart: always
# Lista de portas mapeadas de dentro para fora do container
# na notação porta_de_fora:porta_de_dentro
ports:
# Expõe a porta padrão do banco de dados
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: password