Docker compose 使用docker compose装载名称为破折号的文件夹?

Docker compose 使用docker compose装载名称为破折号的文件夹?,docker-compose,Docker Compose,我有一个文件夹/lib/my python library,其中包含主机系统上的python包: ./Dockerfile ./lib/my-python-library/setup.py my_python_library ... 现在,我将该路径复制到docker容器中 COPY ./lib/my-python-library /my-python-library RUN cd /my-python-

我有一个文件夹
/lib/my python library
,其中包含主机系统上的python包:

./Dockerfile
./lib/my-python-library/setup.py
                      my_python_library
                      ...
现在,我将该路径复制到docker容器中

COPY ./lib/my-python-library /my-python-library

RUN cd /my-python-library && pip install -e .
这很有效。现在,当我执行bash并运行
python-c'导入我的python库时,我可以导入库了

但是,我希望能够动态修改代码,而不必重新启动容器,这通常是可行的。但是,当我使用docker compose装载特定库目录时:

docker compose.yml(代码片段):

然后运行容器,docker compose在我的项目主机的根目录中创建一个名为
my_python_library
的空目录,并挂载该新的空目录。相反,它应该挂载
我的python库

这是docker compose的一个普遍限制,即带破折号的目录不可装载,还是我做错了什么

更新: docker compose似乎无法装载虚线。当我将主机上的目录重命名为我的_python_库并在
docker compose.yml

这项工作:

./lib/my_python_library/setup.py
                        my_python_library
                        ...

你能澄清一下是什么和应该是什么吗?我很奇怪,你从我的应用程序中的我有
我的python\u库
跳到我把文件夹
lib/my python库
装载到
我的python库
。现在,根据您的解释,您观察到的行为是有意义的,
my_python_library
是空的,因为您正在装载
my python library
添加了更多的解释。奇怪的是,我没有观察到相同的情况:现在的问题是:当您从compose装载文件夹时,这将在运行时完全覆盖容器的文件夹。这意味着在容器构建时所做的一切都将丢失。与您所尝试的完全无关的是另一个问题,在这个问题上,我更深入地解释了注释允许我做的事情:因此,为了与Python世界中关于另一个问题所说的内容相类似,您应该做的是在入口点运行
pip安装。关于这方面的更多信息:
./lib/my_python_library/setup.py
                        my_python_library
                        ...