gpt4 book ai didi

docker - 挂载的Docker卷损坏文件

转载 作者:行者123 更新时间:2023-12-02 20:31:33 25 4
gpt4 key购买 nike

我认为这与机器有关,但我不确定。我正在OSX上使用最新的docker工具箱和docker 1.10.3
我有一个使用Dockerfile的项目,该项目将代码复制到容器中,如下所示:

[...]
COPY . /code
VOLUME /code
WORKDIR /code
[...]

为了加快本地开发(测试执行)的速度,我们将当前目录挂载在compose文件中
[...]
volumes:
- .:/code
[...]

并执行
docker-compose -f docker-compose.yml -f docker-compose.testing.yml run web py.test

现在,看来我有两个不同的文件夹/文件:
当运行容器并使用vi查找文件时,一切看起来都像在主机上。更改文件并执行我们的测试(特别是pytest)可以让python解释器读取垃圾,从而使其无法执行测试。



文件的末尾看起来像这样(已在Dockerfile中复制到了容器中):
post_save.connect(backup_something, sender=SomeSender, dispatch_uid='backup_something') foobar
this obviously raises an error when executing, so I change it to

post_save.connect(backup_something, sender=SomeSender, dispatch_uid='backup_something')

现在,无论是从主机还是从容器内部,文件都看起来不错。
执行pytest时,它仍然读取复制代码的内容,对我来说在本地破坏了测试。

如果我进行更多更改,它既不是复制的文件也不是装入的文件,因此,内容在随机位置处中断:
File "/code/some_code.py", line 69
dispatch_uid='backup_
^

SyntaxError:扫描字符串文字时停产
(尾部显示正确的语法等,代码绝对没有损坏)

我们的设置有问题吗?还是我的机器以某种方式损坏了?我尝试重新启动并重新创建docker机器,但这无济于事。

最佳答案

我会尝试以只读模式挂载,然后再次检查文件系统类型,如果有奇怪的地方。
多年前,有一个ntfs-3g损坏文件的错误,也许是类似的东西(显然不是ntfs,因为我们在OS X上)

关于docker - 挂载的Docker卷损坏文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36452686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com