如何使用 From python:3.6 环境在 docker 图像中 运行 brew 命令?

How do I run brew command in docker image with From python:3.6 environment?

我是 docker 的新手。我构建了一个 python flask 应用程序,现在我想为它创建一个 docker 图像。但是,在我的应用程序中,我使用 python 子进程来执行 Calibre 命令。我使用 brew 在本地机器上安装了 Calibre。现在我想知道在“FROM python:3.6”环境下它如何与 docker 一起工作?

我是否只是在 docker 文件中附加“brew cask install calibre”?或者我需要配置自制软件等等?

下面是我当前的docker文件:

FROM python:3.6

ENV FLASK_APP run.py

COPY run.py gunicorn-cfg.py requirements.txt .env ./
COPY app app

RUN pip install -r requirements.txt

EXPOSE 5005
CMD ["gunicorn", "--config", "gunicorn-cfg.py", "run:app"]

提前致谢!

我们可以看到 python:3.6 是基于 Debian 的 运行:

 docker run -it python:3.6 /bin/bash -c 'cat /etc/*release'

这给了我们:

PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Debian 没有预装 brew,但是,它带有 apt 包管理器和 debian.org 个存储库,其中包含 calibre 包:

RUN apt-get update
RUN apt-get install -y calibre