Для настройки Airflow внутри Docker с использованием локальной базы данных PostgreSQL, следуйте данным шагам:
1. Создайте файл `docker-compose.yaml` с конфигурацией для запуска контейнеров Airflow и PostgreSQL:
```yaml
version: '3'
services:
postgres:
image: postgres:latest
container_name: postgres
environment:
POSTGRES_USER: airflow
POSTGRES_PASSWORD: airflow
POSTGRES_DB: airflow
ports:
- "5432:5432"
airflow:
image: apache/airflow:latest
container_name: airflow
environment:
AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow
ports:
- "8080:8080"
depends_on:
- postgres
```
2. Запустите контейнеры с помощью команды `docker-compose up -d`.
3. После запуска контейнеров, выполните команду `docker exec -it airflow bash` для входа в контейнер Apache Airflow.
4. Внутри контейнера убедитесь, что установлен пакет `psycopg2` с помощью команды `pip install psycopg2`.
5. Теперь вы можете запустить DAGs и управлять задачами Airflow через веб-интерфейс, доступный по адресу `http://localhost:8080`.
Чтобы настроить соединение из контейнера Docker к локально запущенной PostgreSQL в Ubuntu 24.04, укажите `localhost` в качестве хоста и порт `5432` в файле `docker-compose.yaml`:
```yaml
environment:
AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@localhost:5432/airflow
```
Затем перезапустите контейнеры с помощью `docker-compose up -d`, и Airflow будет подключаться к локальной базе данных PostgreSQL.