Не удалось создать службу «Интернет» с ошибкой протокола - PullRequest
1 голос
/ 08 июня 2019

Я пытаюсь использовать 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: Ошибка протокола.

Здесь приведен скриншот проблемы, которая может быть связана друг с другом

enter image description here

здесьэто код

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

1 Ответ

1 голос
/ 08 июня 2019

Похоже, он не может найти репозитории.Добавьте эту строку перед выполнением команд apk add.

RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.7/main" >> /etc/apk/repositories

Редактировать: Также, куда вы указываете на Dockerfile выше в вашем docker-compose.yml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...