在 Docker 图像中安装 argon2(安装 gcc 时出现问题)

Install argon2 in Docker image (problem with installing gcc)

现在我正在尝试在 docker 图像中设置 argon2。显然我之前必须安装 gcc(我不只是想在我的本地机器上安装它)。我的 Dockerfile 看起来像这样:

FROM python:3.6-alpine
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY requirements.txt /usr/src/app/
RUN apt install -y gcc && \
pip3 install --no-cache-dir -r requirements.txt
COPY . /usr/src/app
EXPOSE 8080
ENTRYPOINT ["python3"]
CMD ["argon.py"]

我的 requirements.txt 看起来像这样:

flask
flask_restful
connexion == 2.2.0
python_dateutil == 2.6.0
setuptools >= 21.0.0
swagger-ui-bundle
argon2-cffi

当我尝试像这样构建我的 docker 容器时,出现错误:“/bin/sh: apt: not found”

如果相关,我正在 ubuntu 服务器 18.04 上尝试。

正如 Klaus D. 所说,我不得不使用 apk 而不是 apt。此外,我必须安装一些比 gcc 更多的依赖项。所以我的 Dockerfile 现在看起来像这样:

RUN apk add gcc musl-dev libffi-dev && \
    pip install -U  cffi pip setuptools && \
    pip3 install --no-cache-dir -r requirements.txt

这解决了我的问题,让我使用 argon2d。