Docker for Windows:损坏的文件

X. *_*rin 5 windows docker webpack

这篇文章是关于我在使用 webpack 和 Vue.js 以及稳定版 Docker for Windows 时遇到的问题。

似乎大型编译文件(超过 1 Mb)在从虚拟机发送时被分成块,结果 90% 的时间它们最终被损坏(其他文件的部分似乎被注入文件之间块)。

我在 Windows 和 MacOS 上遇到了一些报告的错误,似乎通过将 Apache 配置更改sendfile Off AND/OR MMAP Off为 Dockerfile 内部来解决这些类似的问题:

RUN sed -i -e 's/EnableSendfile On\/EnableSendfile Off/g' /etc/apache2/httpd.conf

RUN sed -i -e 's/EnableMMAP On\/EnableMMAP Off/g' /etc/apache2/httpd.conf

这没有为我解决任何问题..

如您所见,在没有任何代码更改的情况下,每次硬刷新后,由于文件输出损坏,每次出现在不同的行中的错误如下:

基于损坏块的各种输出

社区中有人知道为什么这种情况会持续发生吗?

小智 2

在某些 docker 配置中,您只需取消注释与 MMAP 相关的行(默认情况下 SendFile 处于关闭状态)。

 sed -i 's|#EnableMMAP off|EnableMMAP off|' /etc/apache2/httpd.conf \
Run Code Online (Sandbox Code Playgroud)

另外,您还可以查看 apache 容器中的 httpd.conf,以确定是否需要将此 MMAP 选项添加/取消注释为 Off