Projects STRLCPY maigret Commits 0a628d2b
🤬
  • Refactor Dockerfile with best practices (#691)

    Multiple best practices applied as below:
    
    - Replace deprecated `MAINTAINER` with `LABEL maintainer`
    - Remove additional `apt clean` as it'll be done automatically
    - Use `apt-get` instead of `apt` in script, apt does not have a stable
      CLI interface, and it's for end-user.
    - Put `apt-get install` & apt lists clean up in the same command
    - Use `--no-install-recommends` with `apt-get install` to avoid install
      additional packages
    - Use `--no-cache-dir` with `pip install` to prevent temporary cache
    - Use `COPY` instead of `ADD` for files and folders
    - Use spaces instead of mixing spaces with tabs to indent
    
    Size change by the refactor, almost 100MB saved:
    
    ```
    REPOSITORY   TAG      IMAGE ID       CREATED         SIZE
    maigret      after    9e70c65dde32   1 minutes ago   543MB
    maigret      before   a683f2b71751   7 minutes ago   635MB
    ```
  • Loading...
  • Peter Dave Hello committed with GitHub 2 years ago
    0a628d2b
    1 parent f1969a12
  • ■ ■ ■ ■ ■ ■
    Dockerfile
    1 1  FROM python:3.9-slim
    2  -MAINTAINER Soxoj <[email protected]>
     2 +LABEL maintainer="Soxoj <[email protected]>"
    3 3  WORKDIR /app
    4  -RUN pip install --upgrade pip
    5  -RUN apt update && \
    6  - apt install -y \
     4 +RUN pip install --no-cache-dir --upgrade pip
     5 +RUN apt-get update && \
     6 + apt-get install --no-install-recommends -y \
    7 7   gcc \
    8 8   musl-dev \
    9 9   libxml2 \
    10 10   libxml2-dev \
    11  - libxslt-dev
    12  -RUN apt clean \
    13  - && rm -rf /var/lib/apt/lists/* /tmp/*
    14  -ADD . .
    15  -RUN YARL_NO_EXTENSIONS=1 python3 -m pip install .
     11 + libxslt-dev \
     12 + && \
     13 + rm -rf /var/lib/apt/lists/* /tmp/*
     14 +COPY . .
     15 +RUN YARL_NO_EXTENSIONS=1 python3 -m pip install --no-cache-dir .
    16 16  ENTRYPOINT ["maigret"]
    17 17   
Please wait...
Page is in error, reload to recover