gpt4 book ai didi

docker - “docker-compose up”之后如何运行gulp?

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

您可以使用docker-compose帮助在Docker容器中运行gulp任务,以便编译SCSS文件吗?

我在主机上的文件结构:

/application
--/config
--/models
--/public
----/scss
----/css
----index.html
----gulfile.js
--/routes
.dockerignore
.gitignore
Dockerfile
docker-compose.yml
package.json
server.js

/application/public/gulpfile.js :
var gulp = require('gulp');
var sass = require('gulp-sass');

gulp.task('sass', function() {
gulp.src('./scss/styles.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./css'));
});

gulp.task('sass:watch', function() {
gulp.watch('./scss/styles.scss', ['sass']);
});

Dockerfile :
FROM node:6

RUN mkdir -p /app
WORKDIR /app

COPY . /app

RUN npm install nodemon -g && npm install bower -g && npm install gulp -g

RUN cd /app
RUN npm install
RUN cd /app/public && bower install --allow-root
RUN cd /app

COPY . /app

docker-compose.yml :
version: '2'
services:
web:
build: .
command: nodemon /app/server.js
volumes:
- .:/app/
- /app/node_modules
- /app/public
- /app/config
- /app/models
- /app/routes
ports:
- "3000:3000"
depends_on:
- mongo
mongo:
image: mongo:latest
ports:
- "27018:27017"
restart: always

理想情况下,从 docker-compose.yml文件运行命令以开始查看 /application/public文件夹中的 scss 文件会很好,但是我浪费了几天来解决此问题。

另外,我尝试在容器内运行gulp。实际上,它可以正常运行,但更改未反射(reflect)在主机上。

请不要建议使用现成的Docker-Hub镜像。我用过它们,但它们并不能解决我的问题。

如果有任何帮助,链接,信息或现成的解决方案,我将不胜感激。

最佳答案

您可以在撰写文件中添加单独的服务,以在单独的容器中运行单独的命令(请参见下面的Web行和gulp服务行

version: '2'
services:
web: &web
build: .
command: nodemon /app/server.js
volumes:
- .:/app/
- /app/node_modules
- /app/public
- /app/config
- /app/models
- /app/routes
ports:
- "3000:3000"
depends_on:
- mongo
gulp: *web
command: <gulp command to watch files>
mongo:
image: mongo:latest
ports:
- "27018:27017"
restart: always

关于docker - “docker-compose up”之后如何运行gulp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46903990/

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