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

Share built image between jobs with GitHub Actions


Comme chaque tâche est isolée dans son propre runner, vous ne pouvez pas utiliser votre image construite entre les tâches, sauf si vous utilisez des runners auto-hébergés ou Docker Build Cloud. Cependant, vous pouvez passer des données entre tâches dans un workflow en utilisant les actions actions/upload-artifact et actions/download-artifact :

name: ci

on:
  push:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

      - name: Build and export
        uses: docker/build-push-action@v6
        with:
          tags: myimage:latest
          outputs: type=docker,dest=${{ runner.temp }}/myimage.tar

      - name: Upload artifact
        uses: actions/upload-artifact@v4
        with:
          name: myimage
          path: ${{ runner.temp }}/myimage.tar

  use:
    runs-on: ubuntu-latest
    needs: build
    steps:
      - name: Download artifact
        uses: actions/download-artifact@v4
        with:
          name: myimage
          path: ${{ runner.temp }}

      - name: Load image
        run: |
          docker load --input ${{ runner.temp }}/myimage.tar
          docker image ls -a