如何将共享文件夹位置添加到我的应用程序(Docker)中



我有一个共享的网络文件夹,例如

\pa02ptsdfs002.corp.lgd.afkfilesPublicchristemp

共享文件夹中有一个文件,我希望它对我的dockerized应用程序可见。最终目标是让我的应用程序获取并处理这个文件,然后将其放入数据库中。

我有一个Dockerfile和docker-compose.yml,我想我需要添加一个具有共享文件夹位置的卷(我不确定这是否是正确的方法,这是我需要帮助的地方!(

到目前为止,我已经尝试在我的yml中添加一个卷,当我做docker compose-up-d 时,它抛出了一个错误

airflow:
build: ./airflow
image: digitalImage/airflow
container_name: di-airflow
environment:
AIRFLOW__CORE__EXECUTOR: 'LocalExecutor'
POSTGRES_USER: 'airflowStuff'
POSTGRES_PASSWORD: 'postgresCreds'
POSTGRES_HOST: 'host-postgres'
POSTGRES_PORT: '5432'
POSTGRES_DB: 'postgres-db'
DATE_VALUE: '1 DEC 2020 00:00:00'
volumes:
- ./airflow/released_dags:/usr/local/airflow/dags
- \pa02ptsdfs002.corp.lgd.afkfilesPublicchristemp:/usr/local/airflow/dags/inboundFiles
networks:
- di-airflowStuff
ports:
- 8081:8080
depends_on:
- postgres

错误:无法为服务气流创建容器:\pa02ptsdfs002.corp.lgd.afk\files\Public\chrs\temp%!(EXTRA字符串=不是有效的Windows路径(

p.s.我可以从我的文件资源管理器和python访问这个共享文件夹位置,而不会有任何问题。

您不需要docker compose将外部卷装载到容器中,只需在运行容器时对其进行配置即可:

docker run --name name -v path_host:path_in_container image:tag

两个目录都必须存在

Microsoft建议将共享映射到网络驱动器(如果您在Windows上运行docker(:

https://learn.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/persistent-storage#smb-安装

最新更新