如何在docker-compose中挂载单个文件

qv7cva1a  于 2023-10-16  发布在  Docker
关注(0)|答案(1)|浏览(148)

我有一个项目需要将单个目录挂载到docker容器中,我以类似的方式挂载它

agent:
    image: agent:latest
    container_name: agent
    volumes:
      - $PWD/status.txt:/status.txt

open模式下修改status.txt时发生Is A Directory错误。

with open('status.txt','a') as f:
    ...
    ...

docker-compose似乎将文件识别为目录
如果你能告诉我如何解决这个问题,我将不胜感激。

iyr7buue

iyr7buue1#

我可以使用相同的语法很好地挂载文件,尽管我使用相对路径,例如:

volumes:
 - ./sourcedir/file.txt:/target/dir/mountedfile.txt

其中mountedfile.txt本质上是file.txt。您的环境中一定有其他原因导致此问题。要进行故障排除,您可以做几件事,包括:
1.在容器中获取一个shell,并在目标文件上运行stat,例如:stat mountedfile.txt。这应该告诉你它是一个文件还是目录。
1.使用普通Docker使用-v手动测试您的配置以挂载卷,例如:

docker run --rm -ti -v /sourcedir/file.txt:/target/mountedfile.txt ubuntu:latest bash

此外,unrelated answer中可能有一些有用的信息。

相关问题