Docker 码头工人和大口喝

Docker 码头工人和大口喝,docker,gulp,docker-compose,Docker,Gulp,Docker Compose,我使用的是Windows7,有一个虚拟机在boot2docker上运行 docker-compose.yml: 网状物: 图片:nginx 端口: - 80:80 卷数: -/var/www/docker/nginx/:/etc/nginx/conf.d/ -/var/www/:/var/www/html/ 链接: -php:php php: 构建:php 卷数: -/var/www/:/var/www/html/ -/var/www/docker/php.ini:/usr/local/etc/

我使用的是Windows7,有一个虚拟机在boot2docker上运行

docker-compose.yml:

网状物: 图片:nginx 端口: - 80:80 卷数: -/var/www/docker/nginx/:/etc/nginx/conf.d/ -/var/www/:/var/www/html/ 链接: -php:php php: 构建:php 卷数: -/var/www/:/var/www/html/ -/var/www/docker/php.ini:/usr/local/etc/php/php.ini -/var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock 链接: -分贝:分贝 db: 图片:mysql 端口: - 13306:3306 卷数: -/var/lib/boot2docker/mysql/:/var/lib/mysql/ 环境: -MYQSL\u ROOT\u密码=ROOT gulpfile.js:

var gulp=需要“gulp”; var POSTSS=需要“大口喝”后处理; 变量处理器=[ 需要“precss”, 需要'autoprefixer'{浏览器:['last 2 versions']}, 需要“cssnano” ]; 吞咽任务'postss',函数{ gulp.src'gulp/stylesheets/*.css' .管道处理器 .pipegulp.dest'assets/stylesheets/' }; 吞咽任务“watch-postsss”,函数{ gulp.watchgulp/stylesheets/*.css[postsss]; }; 我试图运行Gulp来编译我的CSS文件,在VM外部使用postss,但它似乎破坏了我VM共享文件夹中的输出文件。例如,如果我编译这个:

body {
  background: red;
}
我在输出文件中得到了我想要的:

body{background:red}
但是如果我像这样重新编译PostSS样式表:

body {
  text-align: center;
}
我在我的输出文件中得到:

正文{背景:红色}��� 我的本地Windows文件已正确更新,此错误仅存在于VM的共享文件夹内的文件中

我是Docker的新手,不知道自己做错了什么。我应该在虚拟机里大口喝吗?还是在一个容器里?如果是这样,我如何在VM/容器中安装和使用Gulp


或者我在docker compose文件中做了一些错误的事情?

我很确定这个问题是由nginx引起的。您应该添加sendfile off;到您的nginx虚拟主机配置。

我想这是因为,请看。@sobolevn我不明白您的意思。。。我需要将css文件转换为UNIX换行符?我想是的。或者对于windows,我不确定这个错误发生在哪里。@sobolevn我试图将源文件和输出css文件都保存在UNIX中,但它没有改变任何东西