官方https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.2.2/airflow.sh'
chmod +x airflow.sh
mkdir -p ./dags ./logs ./plugins
echo -e "AIRFLOW_UID=$(id -u)" > .env
docker-compose up airflow-init
docker-compose up
docker run --name mypostgis -e POSTGRES_PASSWORD=123456 -p 5431:5432 -d postgis/postgis:12-3.1-alpine
airlfow.cfg
dags_folder = /app/airflow/dags
#sql_alchemy_conn = sqlite:////Users/xx/airflow/airflow.db
#端口为容器端口,不是映射出来的端口
sql_alchemy_conn = postgresql://postgres:123456@mypostgis:5432/airflow
dockerfile
FROM python:3.7.11-buster
ENV AIRFLOW_HOME=/app/airflow
WORKDIR /app
COPY requirements.txt ./requirements.txt
RUN pip3 install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
EXPOSE 8080
COPY . ./
CMD ["sh", "./start.sh"]
sh ./start.sh
airflow webserver -D
airflow scheduler -D
docker build -t docker-airflow:1213 -f Dockerfile .
docker run --name airflowd --rm -p 8080:8080 --link mypostgis:mypostgis docker-airflow:1213 airflow db init
docker exec -it a545407ed72c /bin/bash
airflow users create --username admin --firstname xx --lastname xx --role Admin --email xx.xx@xx.cn
docker run --name airflowd -p 8080:8080 --link mypostgis:mypostgis docker-airflow:1213
apache-airflow
virtualenv
flask
psycopg2_binary==2.8.6
网友评论