Question: I got the following error while building a docker image by "docker-compose build". ERROR: Couldn't connect to Docker daemon at http://127.0.0.1:2375 - is it running? If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.  Even if I try with "sudo", I got this: Building web Step 1/8 : FROM python:3.8.3-alpine ---> 8ecf5a48c789 Step 2/8 : WORKDIR /usr/src/app ---> Using cache ---> 87bb0088a0ba Step 3/8 : ENV PYTHONDONTWRITEBYTECODE 1 ---> Using cache ---> 4f1a6ddf9e1f Step 4/8 : ENV PYTHONUNBUFFERED 1 ---> Using cache ---> 5d22b6b7a0f5 Step 5/8 : RUN pip install --upgrade pip ---> Using cache ---> 169ee831f728 Step 6/8 : COPY ./requirements.txt . ---> Using cache ---> 4b4351e31632 Step 7/8 : RUN pip install -r requirements.txt ---> Running in a4dae2fe3761 Collecting asgiref==3.2.10 Downloading asgiref-3.2.10-py3-none-any.whl (19 kB) Collecting cffi==1.14.3 Downloading cffi-1.14.3.tar.gz (470 kB) Collecting cryptography==3.2.1 Downloading cryptography-3.2.1.tar.gz (540 kB) Installing build dependencies: started Installing build dependencies: finished with status 'error' ERROR: Command errored out with exit status 1: command: /usr/local/bin/python /usr/local/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-p3ocmpkd/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.6.0' wheel 'cffi>=1.8,!=1.11.3; platform_python_implementation != '"'"'PyPy'"'"'' cwd: None Complete output (128 lines): Collecting setuptools>=40.6.0 Downloading setuptools-50.3.2-py3-none-any.whl (785 kB) Collecting wheel Downloading wheel-0.35.1-py2.py3-none-any.whl (33 kB) Collecting cffi!=1.11.3,>=1.8 Using cached cffi-1.14.3.tar.gz (470 kB) Collecting pycparser Downloading pycparser-2.20-py2.py3-none-any.whl (112 kB) Building wheels for collected packages: cffi Building wheel for cffi (setup.py): started Building wheel for cffi (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-_eoslhz1/cffi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_eoslhz1/cffi/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-99ngzpxw cwd: /tmp/pip-install-_eoslhz1/cffi/ Complete output (50 lines): unable to execute 'gcc': No such file or directory unable to execute 'gcc': No such file or directory No working compiler found, or bogus compiler options passed to the compiler from Python's standard "distutils" module. See the error messages above. Likely, the problem is not related to CFFI but generic to the setup.py of any Python package that tries to compile C code. (Hints: on OS/X 10.8, for errors about -mno-fused-madd see http://stackoverflow.com/questions/22313407/ Otherwise, see https://wiki.python.org/moin/CompLangPython or the IRC channel #python on irc.freenode.net.) Trying to continue anyway. If you are trying to install CFFI from a build done in a different context, you can ignore this warning. 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/cffi copying cffi/api.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/verifier.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/recompiler.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/vengine_gen.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/model.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/__init__.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/error.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/ffiplatform.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/cparser.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/backend_ctypes.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/cffi_opcode.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/commontypes.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/pkgconfig.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/setuptools_ext.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/lock.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/vengine_cpy.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/_cffi_include.h -> build/lib.linux-x86_64-3.8/cffi copying cffi/parse_c_type.h -> build/lib.linux-x86_64-3.8/cffi copying cffi/_embedding.h -> build/lib.linux-x86_64-3.8/cffi copying cffi/_cffi_errors.h -> build/lib.linux-x86_64-3.8/cffi warning: build_py: byte-compiling is disabled, skipping. running build_ext building '_cffi_backend' extension creating build/temp.linux-x86_64-3.8 creating build/temp.linux-x86_64-3.8/c gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-x86_64-3.8/c/_cffi_backend.o unable to execute 'gcc': No such file or directory error: command 'gcc' failed with exit status 1 ---------------------------------------- ERROR: Failed building wheel for cffi Running setup.py clean for cffi Failed to build cffi Installing collected packages: setuptools, wheel, pycparser, cffi Running setup.py install for cffi: started Running setup.py install for cffi: 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-_eoslhz1/cffi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_eoslhz1/cffi/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-pah2aui6/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-p3ocmpkd/overlay --compile --install-headers /tmp/pip-build-env-p3ocmpkd/overlay/include/python3.8/cffi cwd: /tmp/pip-install-_eoslhz1/cffi/ Complete output (50 lines): unable to execute 'gcc': No such file or directory unable to execute 'gcc': No such file or directory No working compiler found, or bogus compiler options passed to the compiler from Python's standard "distutils" module. See the error messages above. Likely, the problem is not related to CFFI but generic to the setup.py of any Python package that tries to compile C code. (Hints: on OS/X 10.8, for errors about -mno-fused-madd see http://stackoverflow.com/questions/22313407/ Otherwise, see https://wiki.python.org/moin/CompLangPython or the IRC channel #python on irc.freenode.net.) Trying to continue anyway. If you are trying to install CFFI from a build done in a different context, you can ignore this warning. 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/cffi copying cffi/api.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/verifier.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/recompiler.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/vengine_gen.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/model.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/__init__.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/error.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/ffiplatform.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/cparser.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/backend_ctypes.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/cffi_opcode.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/commontypes.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/pkgconfig.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/setuptools_ext.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/lock.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/vengine_cpy.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/_cffi_include.h -> build/lib.linux-x86_64-3.8/cffi copying cffi/parse_c_type.h -> build/lib.linux-x86_64-3.8/cffi copying cffi/_embedding.h -> build/lib.linux-x86_64-3.8/cffi copying cffi/_cffi_errors.h -> build/lib.linux-x86_64-3.8/cffi warning: build_py: byte-compiling is disabled, skipping. running build_ext building '_cffi_backend' extension creating build/temp.linux-x86_64-3.8 creating build/temp.linux-x86_64-3.8/c gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-x86_64-3.8/c/_cffi_backend.o unable to execute 'gcc': No such file or directory error: command 'gcc' failed with exit status 1 ---------------------------------------- ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_eoslhz1/cffi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_eoslhz1/cffi/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-pah2aui6/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-p3ocmpkd/overlay --compile --install-headers /tmp/pip-build-env-p3ocmpkd/overlay/include/python3.8/cffi Check the logs for full command output. ---------------------------------------- ERROR: Command errored out with exit status 1: /usr/local/bin/python /usr/local/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-p3ocmpkd/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.6.0' wheel 'cffi>=1.8,!=1.11.3; platform_python_implementation != '"'"'PyPy'"'"'' Check the logs for full command output. ERROR: Service 'web' failed to build: The command '/bin/sh -c pip install -r requirements.txt' returned a non-zero code: 1  That is my Dockerfile: # pull official base image FROM python:3.8.3-alpine # set work directory WORKDIR /usr/src/app # set environment variables ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # install dependencies RUN pip install --upgrade pip COPY ./requirements.txt . RUN pip install -r requirements.txt # copy project COPY . .  and docker-compose.yml: version: '3.7' services: web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: - ./:/usr/src/app/ ports: - 8000:8000 env_file: - ./.env.dev  I will add that I bought my laptop a few months ago, and already had problems with Docker on my previous system on this device (that's one of the reasons I changed my system). I switched from Fedora to Ubuntu. Additionally, there is no "python" alias for python3 in my shell, and because of the unknown reason I need to put "python3 -m" before simple "pip freeze". I hope that information may be useful. Thank You. . . . After adding a "RUN apk add builder-base" in my Dockerfile, following error appears: Step 8/9 : RUN pip install -r requirements.txt ---> Running in cd9c74fbd831 Collecting asgiref==3.2.10 Downloading asgiref-3.2.10-py3-none-any.whl (19 kB) Collecting cffi==1.14.3 Downloading cffi-1.14.3.tar.gz (470 kB) Collecting cryptography==3.2.1 Downloading cryptography-3.2.1.tar.gz (540 kB) Installing build dependencies: started Installing build dependencies: finished with status 'error' ERROR: Command errored out with exit status 1: command: /usr/local/bin/python /usr/local/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-gbfaltlj/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.6.0' wheel 'cffi>=1.8,!=1.11.3; platform_python_implementation != '"'"'PyPy'"'"'' cwd: None Complete output (104 lines): Collecting setuptools>=40.6.0 Downloading setuptools-50.3.2-py3-none-any.whl (785 kB) Collecting wheel Downloading wheel-0.35.1-py2.py3-none-any.whl (33 kB) Collecting cffi!=1.11.3,>=1.8 Using cached cffi-1.14.3.tar.gz (470 kB) Collecting pycparser Downloading pycparser-2.20-py2.py3-none-any.whl (112 kB) Building wheels for collected packages: cffi Building wheel for cffi (setup.py): started Building wheel for cffi (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-myhajkmm/cffi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-myhajkmm/cffi/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-9jsg5veu cwd: /tmp/pip-install-myhajkmm/cffi/ Complete output (38 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/cffi copying cffi/api.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/verifier.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/recompiler.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/vengine_gen.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/model.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/__init__.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/error.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/ffiplatform.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/cparser.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/backend_ctypes.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/cffi_opcode.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/commontypes.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/pkgconfig.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/setuptools_ext.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/lock.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/vengine_cpy.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/_cffi_include.h -> build/lib.linux-x86_64-3.8/cffi copying cffi/parse_c_type.h -> build/lib.linux-x86_64-3.8/cffi copying cffi/_embedding.h -> build/lib.linux-x86_64-3.8/cffi copying cffi/_cffi_errors.h -> build/lib.linux-x86_64-3.8/cffi warning: build_py: byte-compiling is disabled, skipping. running build_ext building '_cffi_backend' extension creating build/temp.linux-x86_64-3.8 creating build/temp.linux-x86_64-3.8/c gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-x86_64-3.8/c/_cffi_backend.o c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory 15 | #include <ffi.h> | ^~~~~~~ compilation terminated. error: command 'gcc' failed with exit status 1 ---------------------------------------- ERROR: Failed building wheel for cffi Running setup.py clean for cffi Failed to build cffi Installing collected packages: setuptools, wheel, pycparser, cffi Running setup.py install for cffi: started Running setup.py install for cffi: 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-myhajkmm/cffi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-myhajkmm/cffi/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-s86a1yn7/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-gbfaltlj/overlay --compile --install-headers /tmp/pip-build-env-gbfaltlj/overlay/include/python3.8/cffi cwd: /tmp/pip-install-myhajkmm/cffi/ Complete output (38 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/cffi copying cffi/api.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/verifier.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/recompiler.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/vengine_gen.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/model.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/__init__.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/error.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/ffiplatform.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/cparser.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/backend_ctypes.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/cffi_opcode.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/commontypes.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/pkgconfig.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/setuptools_ext.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/lock.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/vengine_cpy.py -> build/lib.linux-x86_64-3.8/cffi copying cffi/_cffi_include.h -> build/lib.linux-x86_64-3.8/cffi copying cffi/parse_c_type.h -> build/lib.linux-x86_64-3.8/cffi copying cffi/_embedding.h -> build/lib.linux-x86_64-3.8/cffi copying cffi/_cffi_errors.h -> build/lib.linux-x86_64-3.8/cffi warning: build_py: byte-compiling is disabled, skipping. running build_ext building '_cffi_backend' extension creating build/temp.linux-x86_64-3.8 creating build/temp.linux-x86_64-3.8/c gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-x86_64-3.8/c/_cffi_backend.o c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory 15 | #include <ffi.h> | ^~~~~~~ compilation terminated. error: command 'gcc' failed with exit status 1 ---------------------------------------- ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-myhajkmm/cffi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-myhajkmm/cffi/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-s86a1yn7/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-gbfaltlj/overlay --compile --install-headers /tmp/pip-build-env-gbfaltlj/overlay/include/python3.8/cffi Check the logs for full command output. ---------------------------------------- ERROR: Command errored out with exit status 1: /usr/local/bin/python /usr/local/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-gbfaltlj/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.6.0' wheel 'cffi>=1.8,!=1.11.3; platform_python_implementation != '"'"'PyPy'"'"'' Check the logs for full command output. ERROR: Service 'web' failed to build: The command '/bin/sh -c pip install -r requirements.txt' returned a non-zero code: 1 

Answer: Alpine Linux does not support the binary wheels Python packages ship under the manylinux tag, so you have to compile things like cffi and cryptography yourself. To do so you'll need a compiler and the correct set of headers. This is documented in the cryptography installation documentation for Alpine. Update September 2021: There is now a musllinux standard which allows binary wheels that work with Alpine. To use them you must have pip 21.2.4 or greater.