在 Docker 个容器上安装依赖项 - Airflow

Installing dependencies on Docker Containers - Airflow

我正在使用 Docker 容器来 运行 一些 python 脚本。我需要在容器中安装 pymssql。我已经 运行 安装了 CLI 并使用 pip install pymssql 安装了这个包。虽然,当我刷新我的气流网页时,它一直显示 pymssql 未安装的错误:

Broken DAG: [/opt/airflow/dags/utils/havanutils/__init__.py] Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/airflow/dags/utils/havanutils/__init__.py", line 4, in <module>
    import pymssql
ModuleNotFoundError: No module named 'pymssql'

我在 Docker 桌面中 运行ning CLI 就像这样 image。

我运行使用了正确的 CLI 吗?或者这个包应该通过另一个 CLI 安装?

Docker 图像在运行时实际上是不可变的。

您应该创建您的图像图像,将其推送到 Docker 注册表,然后让您的 Airflow 任务使用它

您应该在 docker 构建期间进行 pymssql 安装。否则每次停止容器时都必须重新安装 pymssql.

您应该在 Dockerfile 中添加以下行:

RUN pip install pymssql;如果只有一个安装或

RUN pip install -r requirements.txt 并在 requirements.txt 文件中添加您的安装,例如 pymssql==2.2.2