我从docker hub上获取了最新版本的气流图像。
apache/airflow
。
我试图在此图像上运行一个容器。
docker run -d -p 127.0.0.1:5000:5000 apache/airflow webserver
容器正在运行,并且端口的状态很好。但是我仍然无法从浏览器访问气流Web服务器。
无法访问此网站。 127.0.0.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可执行。
让我知道您是否遇到问题。