docker file in asa
This commit is contained in:
109
Presentation/AIAss/README-Docker.md
Normal file
109
Presentation/AIAss/README-Docker.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# AIAss Docker Setup
|
||||
|
||||
This document explains how to run the AIAss gRPC service using Docker.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Docker Desktop installed and running
|
||||
- Docker Compose (usually comes with Docker Desktop)
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Using Docker Compose (Recommended)
|
||||
|
||||
1. Navigate to the AIAss project directory:
|
||||
```bash
|
||||
cd Presentation/AIAss
|
||||
```
|
||||
|
||||
2. Build and run the service:
|
||||
```bash
|
||||
docker-compose up --build
|
||||
```
|
||||
|
||||
3. The service will be available at:
|
||||
- HTTP: http://localhost:5000
|
||||
- HTTPS: https://localhost:5001
|
||||
|
||||
### Using Docker directly
|
||||
|
||||
1. Build the Docker image:
|
||||
```bash
|
||||
docker build -t aiass .
|
||||
```
|
||||
|
||||
2. Run the container:
|
||||
```bash
|
||||
docker run -p 5000:80 -p 5001:443 aiass
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Environment Variables
|
||||
|
||||
- `ASPNETCORE_ENVIRONMENT`: Set to `Development` or `Production`
|
||||
- `ASPNETCORE_URLS`: Configure the URLs the service listens on
|
||||
|
||||
### Ports
|
||||
|
||||
- Port 80: HTTP endpoint
|
||||
- Port 443: HTTPS endpoint
|
||||
|
||||
## Development
|
||||
|
||||
### Hot Reload
|
||||
|
||||
For development with hot reload, you can mount the source code:
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- .:/src
|
||||
- /src/bin
|
||||
- /src/obj
|
||||
```
|
||||
|
||||
### Debugging
|
||||
|
||||
To debug the containerized application, you can:
|
||||
|
||||
1. Attach a debugger to the running container
|
||||
2. Use remote debugging tools
|
||||
3. Check logs: `docker-compose logs aiass`
|
||||
|
||||
## Production
|
||||
|
||||
For production deployment:
|
||||
|
||||
1. Set `ASPNETCORE_ENVIRONMENT=Production`
|
||||
2. Use proper SSL certificates
|
||||
3. Configure health checks
|
||||
4. Set up monitoring and logging
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
1. **Port already in use**: Change the port mappings in docker-compose.yml
|
||||
2. **Build failures**: Ensure all dependencies are properly restored
|
||||
3. **Permission issues**: Check file ownership and Docker user settings
|
||||
|
||||
### Logs
|
||||
|
||||
View container logs:
|
||||
```bash
|
||||
docker-compose logs -f aiass
|
||||
```
|
||||
|
||||
### Cleanup
|
||||
|
||||
Remove containers and images:
|
||||
```bash
|
||||
docker-compose down
|
||||
docker system prune -a
|
||||
```
|
||||
|
||||
## Security Notes
|
||||
|
||||
- The container runs as a non-root user (`appuser`)
|
||||
- Only necessary ports are exposed
|
||||
- Environment variables can be overridden for different deployment scenarios
|
||||
Reference in New Issue
Block a user