0
0
mirror of https://github.com/alex289/CleanArchitecture.git synced 2025-06-30 18:42:56 +00:00

Add kubernetes and docker compose files

This commit is contained in:
alex289 2023-07-15 11:30:45 +02:00
parent 302c0249b2
commit 89c326a8b7
No known key found for this signature in database
GPG Key ID: 573F77CD2D87F863
3 changed files with 88 additions and 0 deletions

View File

@ -13,4 +13,6 @@ RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS runtime
WORKDIR /app
COPY --from=build /app/CleanArchitecture.Api/out ./
EXPOSE 80
ENTRYPOINT ["dotnet", "CleanArchitecture.Api.dll"]

19
docker-compose.yml Normal file
View File

@ -0,0 +1,19 @@
version: "3"
services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- 80:80
depends_on:
- db
links:
- db
db:
image: mcr.microsoft.com/mssql/server
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=YourStrongPassword
ports:
- 1433:1433

67
k8s-deployment.yml Normal file
View File

@ -0,0 +1,67 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: clean-architecture-app
spec:
replicas: 1
selector:
matchLabels:
app: clean-architecture-app
template:
metadata:
labels:
app: clean-architecture-app
spec:
containers:
- name: clean-architecture-app
image: mcr.microsoft.com/dotnet/sdk:7.0
workingDir: /app
command: ["dotnet", "CleanArchitecture.Api.dll"]
ports:
- containerPort: 80
volumeMounts:
- name: app-volume
mountPath: /app
volumes:
- name: app-volume
emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
name: clean-architecture-service
spec:
selector:
app: clean-architecture-app
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: sql-server
spec:
replicas: 1
selector:
matchLabels:
app: sql-server
template:
metadata:
labels:
app: sql-server
spec:
containers:
- name: sql-server
image: mcr.microsoft.com/mssql/server
env:
- name: ACCEPT_EULA
value: "Y"
- name: SA_PASSWORD
value: "YourStrongPassword"
ports:
- containerPort: 1433