mol*_*hui 5 docker docker-compose
我有一个项目需要将单个目录挂载到docker容器中,我以类似的方式挂载
\nagent:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0image:\xc2\xa0agent:latest\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0container_name:\xc2\xa0agent\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0volumes:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0-\xc2\xa0$PWD/status.txt:/status.txt\nRun Code Online (Sandbox Code Playgroud)\nIs A Directory在 mode 下修改 status.txt 时出现错误open。
with open('status.txt','a') as f:\n ...\n ...\nRun Code Online (Sandbox Code Playgroud)\ndocker-compose 似乎将文件识别为目录。
\n如果您能告诉我如何解决它,我将不胜感激?
\n尽管我使用相对路径,但我可以使用相同的语法很好地挂载文件,例如:
volumes:
- ./sourcedir/file.txt:/target/dir/mountedfile.txt
Run Code Online (Sandbox Code Playgroud)
mountedfile.txt本质上是哪里file.txt。您的环境中一定还有其他原因导致此问题。要排除故障,您可以执行以下操作,包括:
将 shell 放入容器中并stat在目标文件上运行,例如stat mountedfile.txt. 这应该告诉您它是文件还是目录。
使用普通 docker 手动测试您的配置,用于-v安装卷,例如:
docker run --rm -ti -v /sourcedir/file.txt:/target/mountedfile.txt ubuntu:latest bash
Run Code Online (Sandbox Code Playgroud)
另外,(有些)不相关的答案中可能有一些有用的信息。
| 归档时间: |
|
| 查看次数: |
9835 次 |
| 最近记录: |