如何使用 docker-compose.yaml 在气流容器中安装 java

Ven*_*kat 3 java docker-compose airflow

我正在使用这个 docker-compose.yaml 文件在 docker 容器上运行气流。

https://airflow.apache.org/docs/apache-airflow/2.0.2/docker-compose.yaml

我需要在其中一个容器中安装 JRE。如何添加指令以将 java 添加到 docker-compose.yaml 文件?

Req*_*uin 6

请尝试以下操作:

在包含 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
Run Code Online (Sandbox Code Playgroud)

为了通过 apt 安装软件包,您必须切换到 root 用户。稍后,我们切换回用户气流。工作目录的规范以及通过requirements.txt安装python包可能不适用,具体取决于您的情况。

然后,在 docker-compose.yml 中,添加build: .after &airflow-common

最后,使用 构建您的管道docker-compose up -d --build

有关更多信息,请查看此处:https://airflow.apache.org/docs/docker-stack/build.html#building-the-image