Я пытаюсь использовать postgresql в контейнере Docker.Тем не менее, я получаю сообщение об ошибке
Не удалось создать службу 'web': команда '/ bin / sh -c apk add --update --no-cache --virtual .tmp-build-deps gcc libc-dev linux-headers postgresql-dev musl-dev zlib zlib-dev 'вернул ненулевой код: 4
У меня возникает другая связанная с этим проблема, например, ОШИБКА: mpfr3-3.1.5-r1: Ошибка протокола.
Здесь приведен скриншот проблемы, которая может быть связана друг с другом
здесьэто код
Dockerfile
FROM python:3.7-alpine
ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
# set working directory which will be inside ubuntu
WORKDIR /code
#### Install a dependency ####
# Copies new files and resources to the image's filesystems
RUN pip3 install pipenv
COPY Pipfile Pipfile.lock /code/
RUN apk add --update --no-cache postgresql-client jpeg-dev
RUN apk add --update --no-cache --virtual .tmp-build-deps \
gcc libc-dev linux-headers postgresql-dev musl-dev zlib zlib-dev
RUN pipenv install --system
RUN apk del .tmp-build-deps
COPY . /code/
RUN adduser -D user
USER user
docker-compose.yml
version: "3.7"
services:
db:
image: postgres:12-alpine
environment:
- POSTGRES_DB=database
- POSTGRES_USER=admin
- POSTGRES_PASSWORD=admin123
web:
build: .
command: >
sh -c "python /code/manage.py wait_for_db &&
python /code/manage.py runserver 0.0.0.0:8000"
environment:
- DB_HOST=db
- DB_NAME=database
- DB_USER=admin
- DB_PASS=admin123
volumes:
- .:/code
# lets us map our port 8000 to the port 8000 in the Docker container
ports:
- 8000:8000
# it says that we should run the db first before running our web services
depends_on:
- db