

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exemple de compilation Windows Docker pour CodeBuild
<a name="sample-windows-docker-custom-image"></a>

L'exemple suivant crée et exécute une image Docker Windows à l'aide CodeBuild de.

**Topics**
+ [Exemple d'exécution de versions de Windows Docker](#sample-windows-docker-build-running)

## Exemple d'exécution de versions de Windows Docker
<a name="sample-windows-docker-build-running"></a>

Utilisez la procédure suivante pour exécuter les versions de Windows Docker.

**Pour exécuter un exemple de build Windows Docker**

1. Créez les fichiers comme décrit dans les [Fichiers](#sample-windows-docker-custom-image-files) sections [Structure de répertoire](#sample-windows-docker-custom-image-dir) et de cette rubrique, puis chargez-les dans un compartiment d'entrée S3 ou un AWS CodeCommit référentiel Bitbucket. GitHub 
**Important**  
Ne chargez pas `(root directory name)`, mais seulement les fichiers à l'intérieur de `(root directory name)`.   
Si vous utilisez un compartiment d'entrée S3, veillez à créer un fichier ZIP contenant les fichiers, puis chargez ce fichier dans le compartiment d'entrée. N'ajoutez pas `(root directory name)` au fichier ZIP, mais seulement les fichiers à l'intérieur de `(root directory name)`.

1. Créez une `WINDOWS_EC2` flotte.

   Si vous utilisez le AWS CLI pour créer la flotte, l'entrée au format JSON de la `create-fleet` commande peut ressembler à ceci. (Remplacez les espaces réservés par vos propres valeurs.)

   ```
   {
     "name": "fleet-name",
     "baseCapacity": 1,
     "environmentType": "WINDOWS_EC2",
     "computeType": "BUILD_GENERAL1_MEDIUM"
   }
   ```

1. Créez un projet de build, exécutez le build et consultez les informations de build associées.

   Si vous utilisez le AWS CLI pour créer le projet de construction, l'entrée au format JSON de la `create-project` commande peut ressembler à ceci. (Remplacez les espaces réservés par vos propres valeurs.)

   ```
   {
     "name": "project-name",
     "source": {
       "type": "S3",
       "location": "bucket-name/DockerImageSample.zip"
     },
     "artifacts": {
       "type": "NO_ARTIFACTS"
     },
     "environment": {
       "type": "WINDOWS_EC2",
       "image": "Windows",
       "computeType": "BUILD_GENERAL1_MEDIUM",
       "fleet": {
          "fleetArn": "fleet-arn"
       }
     },
     "serviceRole": "arn:aws:iam::account-ID:role/role-name"
   }
   ```

1. Pour voir les résultats de la génération, recherchez la chaîne `Hello, World!` dans le journal de la génération. Pour de plus amples informations, veuillez consulter [Affichage des détails d'une génération](view-build-details.md).

### Structure de répertoire
<a name="sample-windows-docker-custom-image-dir"></a>

Cet exemple suppose que cette structure de répertoire est utilisée.

```
(root directory name)
├── buildspec.yml
└── Dockerfile
```

### Fichiers
<a name="sample-windows-docker-custom-image-files"></a>

L'image de base du système d'exploitation utilisé dans cet exemple est`mcr.microsoft.com/windows/servercore:ltsc2022`. L'exemple utilise ces fichiers.

`buildspec.yml` (dans `(root directory name)`)

```
version: 0.2

phases:
  pre_build:
    commands:
      - docker build -t helloworld .
  build:
    commands:
      - docker images
      - docker run helloworld powershell -Command "Write-Host 'Hello World!'"
```

`Dockerfile` (dans `(root directory name)`)

```
FROM mcr.microsoft.com/windows/servercore:ltsc2022

RUN powershell -Command "Write-Host 'Hello World'"
```