Error with Pillow library when dockerinzing Django app

I develop Django apps in Windows environnement and deploy my apps in production in Linux server.

Python 3.8.3

I have a Django project that works (in dev and prod) and I try to "dockerize" it

but I got an error when installing requirements.txt

error seems to come from pillow library but even if I remove the Pillow==6.2.1 it doesn't change

below the tracelog error

requirements.twt

Django==2.2.5
django-bootstrap4==1.0.1
django-crispy-forms==1.7.2
django-debug-toolbar==2.0
django-extensions==2.2.9
django-maintenance-mode==0.15.0
django-partial-date==1.2.2
django-safedelete==0.5.2
django-simple-history==2.7.3
django-widget-tweaks==1.4.5
Pillow==6.2.1
python-gettext==4.0
pytz==2019.2
reportlab==3.5.32
selenium==3.141.0
six==1.12.0
soupsieve==1.9.3
sqlparse==0.3.0
urllib3==1.25.6
xlwt==1.3.0
Creating network "coverage_africa_default" with the default driver
Building web
Step 1/10 : FROM python:3.8.3-alpine
 ---> 8ecf5a48c789
Step 2/10 : WORKDIR /usr/src/app
 ---> Using cache
 ---> 6e7b9e258aae
Step 3/10 : ENV PYTHONDONTWRITEBYTECODE 1
 ---> Using cache
 ---> 130a8576b1fa
Step 4/10 : ENV PYTHONUNBUFFERED 1
 ---> Using cache
 ---> 6e32ad96bd91
Step 5/10 : RUN apk update && apk add postgresql-dev gcc python3-dev musl-dev
 ---> Using cache
 ---> c4010960001d
Step 6/10 : COPY requirements/ requirements/
 ---> 2591c3840465
Step 7/10 : RUN pip install --upgrade pip && pip install -r requirements/dev.txt
 ---> Running in defe0caa7725
Collecting pip
  Downloading pip-20.2.3-py2.py3-none-any.whl (1.5 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.1.1
    Uninstalling pip-20.1.1:
      Successfully uninstalled pip-20.1.1
Successfully installed pip-20.2.3
Collecting Django==2.2.5
  Downloading Django-2.2.5-py3-none-any.whl (7.5 MB)
Collecting django-bootstrap4==1.0.1
  Downloading django-bootstrap4-1.0.1.tar.gz (6.8 MB)
Collecting django-crispy-forms==1.7.2
  Downloading django_crispy_forms-1.7.2-py2.py3-none-any.whl (105 kB)
Collecting django-debug-toolbar==2.0
  Downloading django_debug_toolbar-2.0-py3-none-any.whl (198 kB)
Collecting django-extensions==2.2.9
  Downloading django_extensions-2.2.9-py2.py3-none-any.whl (217 kB)
Collecting django-maintenance-mode==0.15.0
  Downloading django_maintenance_mode-0.15.0-py3-none-any.whl (14 kB)
Collecting django-partial-date==1.2.2
  Downloading django_partial_date-1.2.2.tar.gz (4.6 kB)
Collecting django-safedelete==0.5.2
  Downloading django-safedelete-0.5.2.tar.gz (22 kB)
Collecting django-simple-history==2.7.3
  Downloading django_simple_history-2.7.3-py2.py3-none-any.whl (38 kB)
Collecting django-widget-tweaks==1.4.5
  Downloading django_widget_tweaks-1.4.5-py2.py3-none-any.whl (11 kB)
Collecting python-gettext==4.0
  Downloading python-gettext-4.0.tar.gz (13 kB)
Collecting pytz==2019.2
  Downloading pytz-2019.2-py2.py3-none-any.whl (508 kB)
Collecting reportlab==3.5.32
  Downloading reportlab-3.5.32.tar.gz (2.9 MB)
Collecting selenium==3.141.0
  Downloading selenium-3.141.0-py2.py3-none-any.whl (904 kB)
Collecting six==1.12.0
  Downloading six-1.12.0-py2.py3-none-any.whl (10 kB)
Collecting soupsieve==1.9.3
  Downloading soupsieve-1.9.3-py2.py3-none-any.whl (32 kB)
Collecting sqlparse==0.3.0
  Downloading sqlparse-0.3.0-py2.py3-none-any.whl (39 kB)
Collecting urllib3==1.25.6
  Downloading urllib3-1.25.6-py2.py3-none-any.whl (125 kB)
Collecting xlwt==1.3.0
  Downloading xlwt-1.3.0-py2.py3-none-any.whl (99 kB)
Collecting beautifulsoup4
  Downloading beautifulsoup4-4.9.1-py3-none-any.whl (115 kB)
Collecting pillow>=4.0.0
  Downloading Pillow-7.2.0.tar.gz (39.1 MB)
Building wheels for collected packages: django-bootstrap4, django-partial-date, django-safedelete, python-gettext, reportlab, pillow
  Building wheel for django-bootstrap4 (setup.py): started
  Building wheel for django-bootstrap4 (setup.py): finished with status 'done'
  Created wheel for django-bootstrap4: filename=django_bootstrap4-1.0.1-py3-none-any.whl size=158259 sha256=d4690b1de92ea032179d6cf7b097b8602f3f92fd1276138944a5471d9b4175dc
  Stored in directory: /root/.cache/pip/wheels/dc/9d/a3/0970f3e267e24b49e65bd880d085c6afe789ad49096579d99c
  Building wheel for django-partial-date (setup.py): started
  Building wheel for django-partial-date (setup.py): finished with status 'done'
  Created wheel for django-partial-date: filename=django_partial_date-1.2.2-py3-none-any.whl size=5307 sha256=9f3df5b265d27f716e62aacd51af6cf84b380212796123fc47c4cd7801999944
  Stored in directory: /root/.cache/pip/wheels/3f/8a/4f/5eeadac3d2378cc6e49b5f2c9e01cd3fd5faf69f832e9fd7e6
  Building wheel for django-safedelete (setup.py): started
  Building wheel for django-safedelete (setup.py): finished with status 'done'
  Created wheel for django-safedelete: filename=django_safedelete-0.5.2-py3-none-any.whl size=32268 sha256=b000e61fe57e06d639dae573fd1eef278224ca24a0aaa851f5802e5535439dc0
  Stored in directory: /root/.cache/pip/wheels/ee/9e/cc/5bffafa328113bb30b2837d8d1a374d44bf4493db36a0e8844
  Building wheel for python-gettext (setup.py): started
  Building wheel for python-gettext (setup.py): finished with status 'done'
  Created wheel for python-gettext: filename=python_gettext-4.0-py3-none-any.whl size=15660 sha256=bc022a89a18d6b2a8607e1177e76f5e9936f587391af828f0caac4f73bad07e5
  Stored in directory: /root/.cache/pip/wheels/49/e7/fa/c2610bb74ad6fd90ab7b0382f09374773f2abafbd7f230ffbb
  Building wheel for reportlab (setup.py): started
  Building wheel for reportlab (setup.py): finished with status 'done'
  Created wheel for reportlab: filename=reportlab-3.5.32-cp38-cp38-linux_x86_64.whl size=1996737 sha256=4e86fbd197859a6dd4f04ec94a4413b29c979cb1cac9e165dca0257d2fdc9e55
  Stored in directory: /root/.cache/pip/wheels/13/e5/af/66535131cbcd3fae747b9596d7c1a101bbc7b590497b32c59d
  Building wheel for pillow (setup.py): started
  Building wheel for pillow (setup.py): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-p4yhm3j_/pillow/setup.py'"'"'; __file__='"'"'/tmp/pip-install-p4yhm3j_/pillow/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-c64px_xu
       cwd: /tmp/pip-install-p4yhm3j_/pillow/
  Complete output (172 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.8
  creating build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/Image.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/FitsStubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/TgaImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImagePath.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/GribStubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/PdfParser.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/FliImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/XVThumbImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageFont.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/GimpPaletteFile.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/GifImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/_version.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageGrab.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageChops.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/PSDraw.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/PixarImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/BmpImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/BdfFontFile.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageFile.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/MpoImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/FontFile.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/PcxImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/DcxImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/PyAccess.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageFilter.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageSequence.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/SunImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/BlpImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/MpegImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/__main__.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/SpiderImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageMode.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/MicImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/JpegPresets.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageTk.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageDraw.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/GimpGradientFile.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageCms.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/IcnsImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/WmfImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageOps.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/_tkinter_finder.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/GdImageFile.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageStat.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/PdfImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/__init__.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/SgiImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ExifTags.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/DdsImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageTransform.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/EpsImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageDraw2.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/PngImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/PaletteFile.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/McIdasImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/BufrStubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageColor.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/MspImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImtImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/PcdImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/CurImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/WalImageFile.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/_util.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/_binary.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/PalmImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/TarIO.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageShow.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/PpmImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/JpegImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageQt.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ContainerIO.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/TiffTags.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/features.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/PsdImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/TiffImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageWin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImagePalette.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/FtexImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/WebPImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/IptcImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/IcoImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageMorph.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageEnhance.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/PcfFontFile.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/FpxImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/GbrImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/XpmImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/ImageMath.py -> build/lib.linux-x86_64-3.8/PIL
  copying src/PIL/XbmImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
  running egg_info
  writing src/Pillow.egg-info/PKG-INFO
  writing dependency_links to src/Pillow.egg-info/dependency_links.txt
  writing top-level names to src/Pillow.egg-info/top_level.txt
  reading manifest file 'src/Pillow.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching '*.c'
  warning: no files found matching '*.h'
  warning: no files found matching '*.sh'
  warning: no previously-included files found matching '.appveyor.yml'
  warning: no previously-included files found matching '.coveragerc'
  warning: no previously-included files found matching '.editorconfig'
  warning: no previously-included files found matching '.readthedocs.yml'
  warning: no previously-included files found matching 'codecov.yml'
  warning: no previously-included files matching '.git*' found anywhere in distribution
  warning: no previously-included files matching '*.pyc' found anywhere in distribution
  warning: no previously-included files matching '*.so' found anywhere in distribution
  no previously-included directories found matching '.ci'
  writing manifest file 'src/Pillow.egg-info/SOURCES.txt'
  warning: build_py: byte-compiling is disabled, skipping.

  running build_ext


  The headers or library files could not be found for zlib,
  a required dependency when compiling Pillow from source.

  Please see the install instructions at:
     https://pillow.readthedocs.io/en/latest/installation.html

  Traceback (most recent call last):
    File "/tmp/pip-install-p4yhm3j_/pillow/setup.py", line 864, in <module>
      setup(
    File "/usr/local/lib/python3.8/site-packages/setuptools/__init__.py", line 161, in setup
      return distutils.core.setup(**attrs)
    File "/usr/local/lib/python3.8/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/local/lib/python3.8/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/local/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 223, in run
      self.run_command('build')
    File "/usr/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/local/lib/python3.8/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/usr/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/local/lib/python3.8/distutils/command/build_ext.py", line 340, in run
      self.build_extensions()
    File "/tmp/pip-install-p4yhm3j_/pillow/setup.py", line 694, in build_extensions
      raise RequiredDependencyException(f)
  __main__.RequiredDependencyException: zlib

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-p4yhm3j_/pillow/setup.py", line 918, in <module>
      raise RequiredDependencyException(msg)
  __main__.RequiredDependencyException:

  The headers or library files could not be found for zlib,
  a required dependency when compiling Pillow from source.

  Please see the install instructions at:
     https://pillow.readthedocs.io/en/latest/installation.html


  ----------------------------------------
  ERROR: Failed building wheel for pillow
  Running setup.py clean for pillow
Successfully built django-bootstrap4 django-partial-date django-safedelete python-gettext reportlab
Failed to build pillow
Installing collected packages: pytz, sqlparse, Django, soupsieve, beautifulsoup4, django-bootstrap4, django-crispy-forms, django-debug-toolbar, six, django-extensions, django-maintenance-mode, django-partial-date, django-safedelete, django-simple-history, django-widget-tweaks, python-gettext, pillow, reportlab, urllib3, selenium, xlwt
    Running setup.py install for pillow: started
    Running setup.py install for pillow: finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-p4yhm3j_/pillow/setup.py'"'"'; __file__='"'"'/tmp/pip-install-p4yhm3j_/pillow/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-g28mx6ct/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/pillow
         cwd: /tmp/pip-install-p4yhm3j_/pillow/
    Complete output (174 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.8
    creating build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/Image.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/FitsStubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/TgaImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImagePath.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/GribStubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/PdfParser.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/FliImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/XVThumbImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageFont.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/GimpPaletteFile.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/GifImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/_version.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageGrab.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageChops.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/PSDraw.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/PixarImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/BmpImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/BdfFontFile.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageFile.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/MpoImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/FontFile.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/PcxImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/DcxImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/PyAccess.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageFilter.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageSequence.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/SunImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/BlpImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/MpegImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/__main__.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/SpiderImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageMode.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/MicImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/JpegPresets.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageTk.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageDraw.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/GimpGradientFile.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageCms.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/IcnsImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/WmfImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageOps.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/_tkinter_finder.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/GdImageFile.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageStat.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/PdfImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/__init__.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/SgiImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ExifTags.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/DdsImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageTransform.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/EpsImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageDraw2.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/PngImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/PaletteFile.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/McIdasImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/BufrStubImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageColor.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/MspImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImtImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/PcdImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/CurImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/WalImageFile.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/_util.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/_binary.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/PalmImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/TarIO.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageShow.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/PpmImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/JpegImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageQt.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ContainerIO.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/TiffTags.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/features.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/PsdImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/TiffImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageWin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImagePalette.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/FtexImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/WebPImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/IptcImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/IcoImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageMorph.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageEnhance.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/PcfFontFile.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/FpxImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/GbrImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/XpmImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/ImageMath.py -> build/lib.linux-x86_64-3.8/PIL
    copying src/PIL/XbmImagePlugin.py -> build/lib.linux-x86_64-3.8/PIL
    running egg_info
    writing src/Pillow.egg-info/PKG-INFO
    writing dependency_links to src/Pillow.egg-info/dependency_links.txt
    writing top-level names to src/Pillow.egg-info/top_level.txt
    reading manifest file 'src/Pillow.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching '*.c'
    warning: no files found matching '*.h'
    warning: no files found matching '*.sh'
    warning: no previously-included files found matching '.appveyor.yml'
    warning: no previously-included files found matching '.coveragerc'
    warning: no previously-included files found matching '.editorconfig'
    warning: no previously-included files found matching '.readthedocs.yml'
    warning: no previously-included files found matching 'codecov.yml'
    warning: no previously-included files matching '.git*' found anywhere in distribution
    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    warning: no previously-included files matching '*.so' found anywhere in distribution
    no previously-included directories found matching '.ci'
    writing manifest file 'src/Pillow.egg-info/SOURCES.txt'
    warning: build_py: byte-compiling is disabled, skipping.

    running build_ext


    The headers or library files could not be found for zlib,
    a required dependency when compiling Pillow from source.

    Please see the install instructions at:
       https://pillow.readthedocs.io/en/latest/installation.html

    Traceback (most recent call last):
      File "/tmp/pip-install-p4yhm3j_/pillow/setup.py", line 864, in <module>
        setup(
      File "/usr/local/lib/python3.8/site-packages/setuptools/__init__.py", line 161, in setup
        return distutils.core.setup(**attrs)
      File "/usr/local/lib/python3.8/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/usr/local/lib/python3.8/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/usr/local/lib/python3.8/site-packages/setuptools/command/install.py", line 61, in run
        return orig.install.run(self)
      File "/usr/local/lib/python3.8/distutils/command/install.py", line 545, in run
        self.run_command('build')
      File "/usr/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/usr/local/lib/python3.8/distutils/command/build.py", line 135, in run
        self.run_command(cmd_name)
      File "/usr/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/usr/local/lib/python3.8/distutils/command/build_ext.py", line 340, in run
        self.build_extensions()
      File "/tmp/pip-install-p4yhm3j_/pillow/setup.py", line 694, in build_extensions
        raise RequiredDependencyException(f)
    __main__.RequiredDependencyException: zlib

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-p4yhm3j_/pillow/setup.py", line 918, in <module>
        raise RequiredDependencyException(msg)
    __main__.RequiredDependencyException:

    The headers or library files could not be found for zlib,
    a required dependency when compiling Pillow from source.

    Please see the install instructions at:
       https://pillow.readthedocs.io/en/latest/installation.html


    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-p4yhm3j_/pillow/setup.py'"'"'; __file__='"'"'/tmp/pip-install-p4yhm3j_/pillow/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-g28mx6ct/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/pillow Check the logs for full command output.
ERROR: Service 'web' failed to build: The command '/bin/sh -c pip install --upgrade pip && pip install -r requirements/dev.txt' returned a non-zero code: 1

Solution 1:

Following https://github.com/python-pillow/Pillow/issues/1763 it is enough just to add:

RUN apk add jpeg-dev zlib-dev

before

pip install -r requirements.txt

It works for me