在 alpine docker 镜像中安装 psycopg

问题描述 投票:0回答:1

我有以下 dockerfile:

FROM python:3.12.0-alpine3.18

WORKDIR /usr/src/app

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

RUN apk update && \
    apk add --virtual build-deps gcc python3-dev musl-dev && \
    apk add postgresql-dev


COPY requirements ./requirements
RUN pip install -r ./requirements/local.txt

COPY . .

EXPOSE 8000

这是我的要求.txt:

Django==4.2.7
psycopg==3.1.13

图片加载时出现如下错误:

ERROR: failed to solve: process "/bin/sh -c pip install -r ./requirements/local.txt" did not complete successfully: exit code: 1

我尝试在我的 dockerfile 中安装各种依赖项。但总是同样的错误。

我需要在 dockerfile 中添加哪些依赖项才能安装 psycopg? 另外,您在哪里可以阅读基于某个镜像的某些库需要添加哪些依赖项以及 dockerfile?

docker dockerfile psycopg2 docker-image
1个回答
0
投票

您的

Dockerfile
中使用的路径似乎有些不一致。请使用您当前的
requirements.txt
尝试以下操作:

FROM python:3.12.0-alpine3.18

WORKDIR /usr/src/app

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

RUN apk update && \
    apk add --virtual build-deps gcc python3-dev musl-dev && \
    apk add postgresql-dev

COPY requirements.txt .
RUN pip install -r requirements.txt

COPY . .

EXPOSE 8000

下面您可以看到镜像构建成功,您可以在Python中加载这两个包。

© www.soinside.com 2019 - 2024. All rights reserved.