启动 docker 撰写时出现错误"maximum recursion depth exceeded"



我正在尝试为airflow v2旋转官方docker compose堆栈。

我唯一的改变是

a( 由于我使用RDS ,我已删除postgres服务

b( 已经相应地调整了CCD_ 2/CCD_。

这是文件

version: '3'
x-airflow-common:
&airflow-common
image: apache/airflow:2.0.1
environment:
&airflow-common-env
AIRFLOW__CORE__EXECUTOR: CeleryExecutor
AIRFLOW__CORE__SQL_ALCHEMY_CONN: "postgresql+psycopg2://rds_username:rds_pass@rds_address/postgres"
AIRFLOW__CELERY__RESULT_BACKEND: "db+postgresql://rds_username:rds_pass@wrds_address/postgres"
AIRFLOW__CELERY__BROKER_URL: redis://:@redis:6379/0
AIRFLOW__CORE__FERNET_KEY: ''
AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION: 'true'
AIRFLOW__CORE__LOAD_EXAMPLES: 'true'
volumes:
- ./dags:/opt/airflow/dags:rw
- ./logs:/opt/airflow/logs:rw
- ./plugins:/opt/airflow/plugins:rw
user: "${AIRFLOW_UID:-50000}:${AIRFLOW_GID:-50000}"
depends_on:
redis:
condition: service_healthy
redis:
image: redis:latest
ports:
- 6379:6379
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 30s
retries: 50
restart: always
airflow-webserver:
<<: *airflow-common
command: webserver
ports:
- 8080:8080
healthcheck:
test: ["CMD", "curl", "--fail", "http://localhost:8080/health"]
interval: 10s
timeout: 10s
retries: 5
restart: always
airflow-scheduler:
<<: *airflow-common
command: scheduler
restart: always
airflow-worker:
<<: *airflow-common
command: celery worker
restart: always
airflow-init:
<<: *airflow-common
command: version
environment:
<<: *airflow-common-env
_AIRFLOW_DB_UPGRADE: 'true'
_AIRFLOW_WWW_USER_CREATE: 'true'
_AIRFLOW_WWW_USER_USERNAME: ${_AIRFLOW_WWW_USER_USERNAME:-airflow}
_AIRFLOW_WWW_USER_PASSWORD: ${_AIRFLOW_WWW_USER_PASSWORD:-airflow}
flower:
<<: *airflow-common
command: celery flower
ports:
- 5555:5555
healthcheck:
test: ["CMD", "curl", "--fail", "http://localhost:5555/"]
interval: 10s
timeout: 10s
retries: 5
restart: always

然而,当我试图运行任何docker-compose命令时,我会遇到这个非常神秘的错误,这是非常没有帮助的

$ docker-compose ps
Traceback (most recent call last):
File "bin/docker-compose", line 3, in <module>
File "compose/cli/main.py", line 67, in main
File "compose/cli/main.py", line 123, in perform_command
File "compose/cli/command.py", line 69, in project_from_options
File "compose/cli/command.py", line 127, in get_project
File "compose/config/config.py", line 389, in load
File "compose/config/config.py", line 389, in <listcomp>
File "compose/config/config.py", line 589, in process_config_file
File "compose/config/validation.py", line 467, in validate_against_config_schema
File "compose/config/validation.py", line 461, in keys_to_str
File "compose/config/validation.py", line 461, in keys_to_str
File "compose/config/validation.py", line 461, in keys_to_str
[Previous line repeated 986 more times]
File "compose/config/validation.py", line 458, in keys_to_str
RecursionError: maximum recursion depth exceeded while calling a Python object
[1318740] Failed to execute script docker-compose

我尝试过使用带引号和不带引号的rds连接字符串。

有人知道发生了什么事吗?

我在这里遇到了同样的错误,问题是缺少services密钥声明,在我的情况下,我意外地删除了它。只需将其添加回:

...
condition: service_healthy
services:
redis:
image: redis:latest
...

相关内容

最新更新