---
sidebar_position: 1
sidebar_label: Générer fichier Docker
title: Générer un fichier Docker
---

## Comment générer mon fichier docker

Il est possible de générer un `Dockerfile` automatiquement avec Visual Studio.

Sur votre projet, cliquez droit et sélectionnez `Add` => `Docker Support...` :

![Prise en charge de Docker](/img/deploy/docker-support-visual-studio.png)

Sélectionnez la cible "Linux" :

![OS cible](/img/deploy/docker-file-options.png)

Un nouveau fichier `Dockerfile` est créé dans votre projet.

## La configuration du nuget

Si vous utilisez des référentiels spécifiques, vous devez utiliser un fichier `nuget.config`.

N'oubliez pas d'ajouter votre `nuget.config` à votre image de build, juste après `WORKDIR /src` ajouter `COPY ["nuget.config", "."]`

:::caution
Si vous n'ajoutez pas le fichier, restaurer le nuget ne fonctionne pas, par défaut restaurer la recherche sur nuget.org
:::

## Exemple de fichier Dockerfile

```txt
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY ["nuget.config", "."]
COPY ["MyBeautifulApp/MyBeautifulApp.csproj", "MyBeautifulApp/"]
RUN dotnet restore "MyBeautifulApp/MyBeautifulApp.csproj"
COPY . .
WORKDIR "/src/MyBeautifulApp"
RUN dotnet build "MyBeautifulApp.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "MyBeautifulApp.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "MyBeautifulApp.dll"]
```
