系统:Ubuntu 22.04.2 LTS docker Version:20.10.21 docker-compose version 1.29.2, python3 --version Python 3.10.6
sudo apt-get update sudo apt-get upgrade
apt-get install docker.io
docker version
sudo usermod -aG docker $USER
groups 或者 id -nG
sudo service docker restart
docker version 或 docker info 第一个命令“docker version”将列出已安装的Docker版本,以及客户端和服务端的详细信息。如果输出中没有错误,则说明Docker已成功安装。 第二个命令“docker info”将显示有关Docker daemon(Docker守护程序)的详细信息,包括系统信息、容器信息和镜像信息等。同样,如果输出中没有错误,则说明Docker已成功安装。
vim /lib/systemd/system/docker.service
修改为
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
sudo systemctl daemon-reload sudo service docker restart
sudo apt-get install -y docker-compose 验证安装是否成功 docker-compose --version
设置正确的Airflow用户 在Linux中,需要知道user id 以及设置group id为0,否则在dags、 logs、 plugins中的文件将由root用户创建。这里我们需要配置AIRFLOW_UID mkdir -p /usr/local/airflow cd /usr/local/airflow mkdir -p ./dags ./logs ./plugins echo -e "AIRFLOW_UID=$(id -u)" > .env 备注: ./dags 我们可以将我们写的DAG文件放置到这里。 ./logs 存放来源于任务执行器与调度器的日志。 ./plugins 存放一些我们自定义的插件。
官网上直该获取 docker-compose.yaml。 地址: curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.6.0/docker-compose.yaml' 备注:如果网络超时就手动下载在上传到服务器 初始化数据库 docker-compose up airflow-init 运行Airflow 启动所有服务 #建议第一次运行时不要加-d,查看日志运行 docker-compose up -d #Ctrl+C停止,然后重新启动一下 docker-compose down docker-compose up -d 登录airflow 地址:http://localhost:8080 登录名/密码 :airflow airflow 检查容器状态 docker ps
启动Airflow服务: docker-compose up 后台启动Airflow服务: docker-compose up -d 停止Airflow服务: docker-compose down 列出正在运行的Airflow容器: docker ps 查看镜像 docker images 查看docker状态 sudo systemctl status docker 进入某个Airflow容器的终端: docker exec -it <container_name> bash 备注:<container_name>为容器名或ID 显示Airflow服务的日志: docker-compose logs [-f] [service_name] 备注: -f参数表示实时跟踪日志,service_name参数表示服务名,默认为所有服务。 构建Airflow镜像 docker-compose build 清除未使用的镜像、容器、网络和卷: docker system prune 查看Airflow所在的网络IP地址: docker network inspect airflow-stack_airflow-net | grep Gateway 备注:irflow-stack_airflow-net表示Docker Compose文件中定义的Airflow网络名 docker 保存镜像 docker save -o airflow2.tar apache/airflow:2.6.0 tar 文件导入到另一台机器上 docker load -i airflow2.tar
https://github.com/puckel/docker-airflow https://blog.csdn.net/qq_35491275/article/details/121981215 https://blog.51cto.com/helpdesk/5651419?articleABtest=1
QQ 897252348