2

我们正在DBT使用 Docker 和docker-compose. 在docker-compose.yml我们的 Airflow 部署文件中,DBT 存储库作为卷附加:

webserver:
    ...
    volumes:
        - ../our-dbt-repo:/usr/local/airflow/dbt

运行dbt-run通常会生成一个/logs带有 DBT 日志的目录。但是,dbt-run从 GCP 机器上的 docker 容器运行会抛出错误[Errno 13] Permission denied: 'logs'

为了测试权限,我docker exec -it <DockerContainerID> bash从 GCP 机器的命令行运行(当 docker 容器正在运行时)进入正在运行的 docker 容器,然后运行cd /usr/local/airflow/dbt/ && touch file.txt,并收到错误:touch: cannot touch 'file.txt': Permission denied. 所以很明显,不能将任何文件添加到/dbt作为卷添加到 Docker 容器中的文件夹中,这就是无法写入日志的原因。

有没有办法让我们的/dbt卷权限写入日志?也许我们可以在其他地方(不是在 GCP 服务器上的容器中)写入 DBT 日志,这样就不需要在/dbt容器上的卷中写入?

4

0 回答 0