我试图建立一个dockerfile,但问题是,当它试图建立一个dockerfile时,它并不是在建立一个dockerfile.

我的Dockerfile

FROM python:3.7-alpine

ENV PYTHONUNBUFFERED 1

RUN apk update \
  # psycopg2 dependencies
  && apk add --virtual build-deps gcc python3-dev musl-dev\
  && apk add postgresql-dev \
  && apk add build-base \
  # Pillow dependencies
  && apk add jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev \
  # CFFI dependencies
  && apk add libffi-dev py-cffi \
  # Translations dependencies
  && apk add gettext \
  # https://docs.djangoproject.com/en/dev/ref/django-admin/#dbshell
  && apk add postgresql-client \
  # cairo
  && apk add cairo cairo-dev pango-dev gdk-pixbuf-dev poppler-utils

# fonts for weasyprint
RUN mkdir ~/.fonts
COPY ./fonts/* /root/.fonts/

# secret key (should be in docker-secrets, or we need to run minikube locally
RUN mkdir /etc/secrets
COPY secret.readme proxy_rsa_key* /etc/secrets/

# Requirements are installed here to ensure they will be cached.
COPY ./requirements /requirements
RUN pip install -r /requirements/local.txt

COPY ./compose/local/django/entrypoint /entrypoint
RUN sed -i 's/\r//' /entrypoint
RUN chmod +x /entrypoint

COPY ./compose/local/django/start /start
RUN sed -i 's/\r//' /start
RUN chmod +x /start

COPY ./compose/local/django/celery/worker/start /start-celeryworker
RUN sed -i 's/\r//' /start-celeryworker
RUN chmod +x /start-celeryworker

COPY ./compose/local/django/celery/beat/start /start-celerybeat
RUN sed -i 's/\r//' /start-celerybeat
RUN chmod +x /start-celerybeat

COPY ./compose/local/django/celery/flower/start /start-flower
RUN sed -i 's/\r//' /start-flower
RUN chmod +x /start-flower

WORKDIR /app

ENTRYPOINT ["/entrypoint"]

when I try to build my dockerfile it shows:

Building wheel for cryptography (PEP 517): finished with status 'error'
  ERROR: Command errored out with exit status 1:
  
  error: Can not find Rust compiler
  ----------------------------------------
  ERROR: Failed building wheel for cryptography

我试图解决问题,但我做不到.我是docker的新手.请帮助解决这个问题.

推荐答案

因为错误是...

error: Can not find Rust compiler

...解决方案是安装rust编译器.你还需要

以下是为我成功构建的:

FROM python:3.7-alpine

ENV PYTHONUNBUFFERED 1

RUN apk add --update \
  build-base \
  cairo \
  cairo-dev \
  cargo \
  freetype-dev \
  gcc \
  gdk-pixbuf-dev \
  gettext \
  jpeg-dev \
  lcms2-dev \
  libffi-dev \
  musl-dev \
  openjpeg-dev \
  openssl-dev \
  pango-dev \
  poppler-utils \
  postgresql-client \
  postgresql-dev \
  py-cffi \
  python3-dev \
  rust \
  tcl-dev \
  tiff-dev \
  tk-dev \
  zlib-dev

RUN pip install cryptography

请注意,上面的apk add ...个命令行与

Python-3.x相关问答推荐

被多个\n拆分并保留

以某种方式分割字符串

在python内的powershell中转义$_

对大型数据框中的选定列进行重新排序

如何使用Selenium从网站下拉菜单中获取值列表?

如何获取实例化 `types.GenericAlias` 的下标类?

在新数据帧上自动提取两个字符串 python 之间的相等性

类不继承时 super() 的用途

Snakemake 'run' 指令不产生错误信息

如何在带有 GUI 的 python 游戏中设置回答时间限制?

删除括号和大括号中不必要的空格

为什么包含类的名称不被识别为返回值函数注释?

Tensorflow:ImportError:libcudnn.so.7:无法打开共享对象文件:没有这样的文件或目录

Asyncio RuntimeError:事件循环已关闭

try 在 Windows 10 高 DPI 显示器上解决模糊的 tkinter 文本 + zoom ,但担心我的方法不是 Pythonic 或不安全

如何正确创建自定义文本编解码器?

如何在继承的数据类中创建可选字段?

Python 3 - Zip 是 pandas 数据框中的迭代器

如何在python中创建代码对象?

Django Rest 框架 ListField 和 DictField