refactor: enhance docker-compose configuration for clarity and consistency
This commit is contained in:
+39
-19
@@ -1,58 +1,73 @@
|
|||||||
services:
|
services:
|
||||||
# Microsoft SQL Server
|
# Microsoft SQL Server
|
||||||
# https://hub.docker.com/r/microsoft/mssql-server/
|
|
||||||
shop-sql-server:
|
shop-sql-server:
|
||||||
image: mcr.microsoft.com/mssql/server:2022-latest
|
image: mcr.microsoft.com/mssql/server:2022-latest
|
||||||
container_name: shop-sql-server
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- ACCEPT_EULA=Y
|
ACCEPT_EULA: "Y"
|
||||||
- MSSQL_SA_PASSWORD=${MSSQL_SA_PASSWORD}
|
MSSQL_SA_PASSWORD: ${MSSQL_SA_PASSWORD}
|
||||||
- MSSQL_PID=Express
|
MSSQL_PID: Express
|
||||||
- MSSQL_COLLATION=SQL_Latin1_General_CP1_CI_AS
|
MSSQL_COLLATION: SQL_Latin1_General_CP1_CI_AS
|
||||||
ports:
|
ports:
|
||||||
- "${MSSQL_PORT}:${MSSQL_PORT}"
|
- "${MSSQL_PORT}:${MSSQL_PORT}"
|
||||||
volumes:
|
volumes:
|
||||||
- sql_data:/var/opt/mssql
|
- sql_data:/var/opt/mssql
|
||||||
networks:
|
networks:
|
||||||
- shop-network
|
- shop-network
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
# MongoDB
|
# MongoDB
|
||||||
# https://hub.docker.com/_/mongo/
|
|
||||||
shop-mongo-server:
|
shop-mongo-server:
|
||||||
image: mongo:latest
|
image: mongo:latest
|
||||||
container_name: shop-mongo-server
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "${MONGO_PORT}:${MONGO_PORT}"
|
- "${MONGO_PORT}:${MONGO_PORT}"
|
||||||
|
volumes:
|
||||||
|
- mongo_data:/data/db
|
||||||
networks:
|
networks:
|
||||||
- shop-network
|
- shop-network
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
# Redis Cache
|
# Redis Cache
|
||||||
# https://hub.docker.com/_/redis/
|
|
||||||
shop-redis-server:
|
shop-redis-server:
|
||||||
image: redis:latest
|
image: redis:latest
|
||||||
container_name: shop-redis-server
|
restart: unless-stopped
|
||||||
command: redis-server --requirepass ${REDIS_PASSWORD}
|
command: redis-server --requirepass ${REDIS_PASSWORD}
|
||||||
ports:
|
ports:
|
||||||
- "${REDIS_PORT}:${REDIS_PORT}"
|
- "${REDIS_PORT}:${REDIS_PORT}"
|
||||||
networks:
|
|
||||||
- shop-network
|
|
||||||
volumes:
|
volumes:
|
||||||
- redis_data:/data
|
- redis_data:/data
|
||||||
|
networks:
|
||||||
|
- shop-network
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
# Shop API Container (NET Core)
|
# Shop API Container (NET Core)
|
||||||
shop-api:
|
shop-api:
|
||||||
image: shop-api:latest
|
|
||||||
container_name: shop-api
|
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: src/Shop.PublicApi/Dockerfile
|
dockerfile: src/Shop.PublicApi/Dockerfile
|
||||||
|
image: shop-api:latest
|
||||||
|
restart: on-failure
|
||||||
env_file:
|
env_file:
|
||||||
- ./.env
|
- ./.env
|
||||||
environment:
|
environment:
|
||||||
- ASPNETCORE_ENVIRONMENT=Development
|
ASPNETCORE_ENVIRONMENT: Development
|
||||||
- ConnectionStrings__SqlConnection=Server=shop-sql-server,${MSSQL_PORT};Database=ShopContext;User Id=sa;Password=${MSSQL_SA_PASSWORD};TrustServerCertificate=True;
|
# Use portas internas dos serviços (os mapeamentos host:container ficam acima)
|
||||||
- ConnectionStrings__NoSqlConnection=mongodb://shop-mongo-server:${MONGO_PORT}
|
ConnectionStrings__SqlConnection: "Server=shop-sql-server,1433;Database=ShopContext;User Id=sa;Password=${MSSQL_SA_PASSWORD};TrustServerCertificate=True;"
|
||||||
- ConnectionStrings__CacheConnection=shop-redis-server:${REDIS_PORT},password=${REDIS_PASSWORD},abortConnect=false
|
ConnectionStrings__NoSqlConnection: "mongodb://shop-mongo-server:27017"
|
||||||
|
ConnectionStrings__CacheConnection: "shop-redis-server:6379,password=${REDIS_PASSWORD},abortConnect=false"
|
||||||
ports:
|
ports:
|
||||||
- "5000:80"
|
- "5000:80"
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -61,11 +76,16 @@ services:
|
|||||||
- shop-redis-server
|
- shop-redis-server
|
||||||
networks:
|
networks:
|
||||||
- shop-network
|
- shop-network
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
# Define volumes for persistent storage
|
|
||||||
volumes:
|
volumes:
|
||||||
sql_data:
|
sql_data:
|
||||||
redis_data:
|
redis_data:
|
||||||
|
mongo_data:
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
shop-network:
|
shop-network:
|
||||||
|
|||||||
Reference in New Issue
Block a user