⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Intégrer Docker Scout avec Circle CI


L'exemple suivant s'exécute lorsqu'il est déclenché dans CircleCI. Lorsqu'il est déclenché, il vérifie l'image et le tag "docker/scout-demo-service:latest" puis utilise Docker Scout pour créer un rapport CVE.

Ajoutez ce qui suit à un fichier .circleci/config.yml.

D'abord, configurez le reste du workflow. Ajoutez ce qui suit au fichier YAML :

version: 2.1

jobs:
  build:
    docker:
      - image: cimg/base:stable
    environment:
      IMAGE_TAG: docker/scout-demo-service:latest

Ceci définit l'image de conteneur que le workflow utilise et une variable d'environnement pour l'image.

Ajoutez ce qui suit au fichier YAML pour définir les étapes du workflow :

steps:
  # Récupérer les fichiers du dépôt
  - checkout
  
  # Configurer un environnement Docker séparé pour exécuter les commandes `docker`
  - setup_remote_docker:
      version: 20.10.24

  # Installer Docker Scout et se connecter à Docker Hub
  - run:
      name: Installer Docker Scout
      command: |
        env
        curl -sSfL https://raw.githubusercontent.com/docker/scout-cli/main/install.sh | sh -s -- -b /home/circleci/bin
        echo $DOCKER_HUB_PAT | docker login -u $DOCKER_HUB_USER --password-stdin

  # Construire l'image Docker
  - run:
      name: Construire l'image Docker
      command: docker build -t $IMAGE_TAG .
  
  # Exécuter Docker Scout          
  - run:
      name: Scanner l'image pour les CVE
      command: |
        docker-scout cves $IMAGE_TAG --exit-code --only-severity critical,high

Ceci récupère les fichiers du dépôt puis configure un environnement Docker séparé pour exécuter les commandes.

Il installe Docker Scout, se connecte à Docker Hub, construit l'image Docker, et puis exécute Docker Scout pour générer un rapport CVE. Il ne montre que les vulnérabilités critiques ou de gravité élevée.

Enfin, ajoutez un nom pour le workflow et les tâches du workflow :

workflows:
  build-docker-image:
    jobs:
      - build