【问题标题】:How to install java in an airflow container using docker-compose.yaml如何使用 docker-compose.yaml 在气流容器中安装 java
【发布时间】:2021-04-26 13:58:35
【问题描述】:
【问题讨论】:
标签:
java
docker-compose
airflow
【解决方案1】:
尝试以下方法:
在您还拥有 docker-compose.yml 的目录中创建以下 Dockerfile:
FROM apache/airflow:2.0.2
USER root
# Install OpenJDK-11
RUN apt update && \
apt-get install -y openjdk-11-jdk && \
apt-get install -y ant && \
apt-get clean;
# Set JAVA_HOME
ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64/
RUN export JAVA_HOME
USER airflow
WORKDIR /app
COPY requirements.txt /app
RUN pip install --trusted-host pypi.python.org -r requirements.txt
为了通过 apt 安装软件包,您必须切换到 root 用户。稍后,我们切换回用户气流。工作目录的规范和通过 requirements.txt 安装 python 包可能不适用,具体取决于您的情况。
然后,在您的 docker-compose.yml 中,在 &airflow-common 之后添加 build: .。
最后,使用docker-compose up -d --build 构建您的管道。
更多信息,请看这里:https://airflow.apache.org/docs/docker-stack/build.html#building-the-image