Quando creiamo una soluzione con microservizi in Visual Studio, una delle operazioni più comuni è quella di abilitare Docker come ambiente di esecuzione. Tuttavia, la nostra applicazione non è fatta solo di microseservizi, ma anche di database, service bus, cache e altro ancora. Per evitare di dover installare e configurare questi applicativi sulla macchina, si tende a usare anche questi tamite Docker. Tuttavia, un container non può accedere a database, bus, cache (e altro ancora) ospitati su un altro container a meno che quel container non sia esposto con un nome che va specificato tramite hostname.
Per fare questo dobbiamo prendere il file docker-compose.yml e specificare al suo interno l'hostname per il container che vogliamo sia raggiungibile anche dagli altri come mostrato nel prossimo esempio.
redis: image: redis hostname: MyCache ports: - "6379:6379"
In questo esempio, specifichiamo che l'immagine che usiamo è quella di redis, la porta è quella standard e il nome del container è MyCache. Quando da un altro container dobbiamo accedere alla cache di redis, ci basterà usare MyCache come nome della macchina.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Configurare lo startup di applicazioni server e client con .NET Aspire
Supportare la sessione affinity di Azure App Service con Application Gateway
Configurare e gestire sidecar container in Azure App Service
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Selettore CSS :has() e i suoi casi d'uso avanzati
Generare un hash con SHA-3 in .NET
Gestire gli accessi con Token su Azure Container Registry
La gestione della riconnessione al server di Blazor in .NET 9
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework