[英]Reading files on local machine from docker container
我正在从名为 puckel/docker-airflow 的 docker 映像运行 airflow。 当我使用以下 docker 命令启动容器时,我将本地 dags 文件夹与容器 airflow 文件夹同步:
docker run -d -p 8080:8080 -v <local_path>:/usr/local/airflow/dags puckel/docker-airflow webserver
在我的 DAG 上,我有一个PythonOperator
调用名为start_script
的 function ,这个 function 基本上读取和初始化文件以提取一些信息(例如密码)。 function如下:
def start_script():
config_parser = configparser.RawConfigParser()
config_parser.read("C:/dags/file.ini")
pwd= config_parser.get("LOGS", "pwd")
当我在本地运行这个 function 时,function 能够读取文件并带上密码,不幸的是,当我在 docker 上运行时,它会返回错误:d
configparser.NoSectionError: No section: 'LOGS'
从容器调用本地计算机中文件的正确方法是什么? 我真的认为,当我在容器上运行 function 时,function 无法识别 config_parser 应该读取的路径。
谢谢你的时间!
在容器中,您必须指向已安装卷中的配置文件,因此将config_parser.read("C:/dags/file.ini")
更改为config_parser.read("/usr/local/airflow/dags/file.ini")
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.