运行容器后无法访问网络服务器的气流

时间:2019-04-28 16:13:22

标签: docker airflow

我从docker hub上获取了最新版本的气流图像。

apache/airflow

我试图在此图像上运行一个容器。

docker run -d -p 127.0.0.1:5000:5000 apache/airflow webserver

容器正在运行,并且端口的状态很好。但是我仍然无法从浏览器访问气流Web服务器。 docker ps

无法访问此网站。 127.0.0.1拒绝连接。

几分钟后,容器将自动停止。

有没有人可以建议?

1 个答案:

答案 0 :(得分:4)

我没有气流的经验,但这是您修复此图像以使其运行的方式:

首先,您必须覆盖入口点,因为现有入口点并没有太大帮助。据我了解,此图像需要2个步骤才能运行:initdb和webserver。因此,现有的入口点没有用。

运行:

docker run -p 5000:8080 --entrypoint /bin/bash -ti  apache/airflow

这将打开正在运行的容器内的外壳。另外请注意,我在容器内映射了端口8080。

然后在容器中运行:

airflow initdb
airflow webserver -p 8080

打开浏览器并导航到http://localhost:5000

当您关闭容器时,您的工作就没了;)

您可以做的另一件事是将2个airflow命令放入bash脚本中,并将该脚本映射到容器内,然后将其用作入口点。像这样:

docker run -p 5000:8080 -v $(pwd)/startup.sh:/opt/airflow/startup.sh --entrypoint /opt/airflow/startup.sh -d --name airflow apache/airflow 

在运行该程序之前,应使startup.sh可执行。

让我知道您是否遇到问题。