为什么 GitHub Actions 中构建的 Docker 镜像这么大?

问题描述 投票:0回答:1

在同一个项目中,我在 MacBook Pro(13 英寸,M1,2020)上构建的 Docker 镜像为 1.56GB,而在 GitHub Actions 上构建的镜像为 11.7GB。即使我使用相同的 Dockerfile,为什么会有这样的差异?

FROM python:3.11-slim AS builder

WORKDIR /app

RUN pip install poetry

COPY pyproject.toml poetry.lock /app/

RUN poetry config virtualenvs.create false \
    && poetry install --no-dev --no-interaction --no-ansi COPY . /app

CMD ["python3", "main.py" ]

工作流程:

    steps:
    - name: Checkout
      uses: actions/checkout@v4

    - name: Log in to GitHub Container Registry
      run: echo "${{ secrets.MY_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin

    - name: Build Docker image
      run: docker build -t ghcr.io/${{ github.repository_owner }}/${{ github.repository }}/${{env.IMAGE_NAME}}:latest .

    - name: show image size
      run: docker images

    - name: Push Docker image to GHCR
      run: docker push ghcr.io/${{ github.repository_owner }}/${{ github.repository }}/${{env.IMAGE_NAME}}:latest
python docker github-actions
1个回答
-1
投票

我无法直接回答这个问题,但我确实知道一个非常有用的工具可以解决这个问题。

https://github.com/wagoodman/dive

Dive 允许您检查 docker 镜像的每一层。这应该可以让您知道两者之间的差异来自何处,并希望如何避免它。

© www.soinside.com 2019 - 2024. All rights reserved.