gpt4 book ai didi

python - Web服务在Airflow Docker容器中不起作用

转载 作者:行者123 更新时间:2023-12-02 19:50:01 24 4
gpt4 key购买 nike

我已经使用Dockerfile创建了一个用于气流的Docker容器。当任何人运行docker镜像时,我需要运行两个webservice。我正在使用ENTRYPOINT通过入口点脚本执行运行Web服务。当我运行docker容器时,只有一个Web服务正在运行,而另一个Web服务没有运行,但是如果我进入docker容器并运行相同的脚本,则两个webservice都将运行。

我想运行气流服务“气流Web服务器”和“气流调度程序”

>entrypoint.sh file 
-----------------------------
#!/usr/bin/env bash
airflow initdb
airflow webserver -D
airflow scheduler -D
exec "$@"
-----------------------------

>Dockerfile
-----------------------------------------------
FROM ubuntu:16.04
LABEL "Created_By"="------"
#Python installation
##pip3
RUN apt update -y && \
apt upgrade -y && \
apt-get install -y apt-utils
RUN apt-get install -y python-setuptools && \
apt-get install -y python-pip && \
apt-get install -y python3-pip && \
pip install --upgrade pip && \
apt-get install -y libmysqlclient-dev && \
pip install wtforms==2.2.1 && \
pip install apache-airflow && \
pip install apache-airflow[mysql]

WORKDIR /script/
COPY entrypoint.sh .
RUN chmod -R 0705 /script/
ENTRYPOINT [ "./entrypoint.sh" ]

我不明白为什么只有一项服务正在运行

最佳答案

尝试改为以分离模式运行容器:

docker run -d <IMAGE>

然后像这样输入容器:

docker exec -it <CONTAINER> bash

这对我来说与您的代码一样。

旁注:您不应该在一个容器中运行多个服务。从 Docker documentation:

It is generally recommended that you separate areas of concern by using one service per container.



有关为每个服务使用单独容器的Airflow的示例实现,请参见 puckel/docker-airflow

关于python - Web服务在Airflow Docker容器中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61375626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com