如何在“之后大口喝”;docker compose up“;?
您能否帮助在Docker容器中使用如何在“之后大口喝”;docker compose up“;?,docker,gulp,docker-compose,Docker,Gulp,Docker Compose,您能否帮助在Docker容器中使用Docker compose运行gulp任务,以便它编译SCSS文件 主机上的我的文件结构: /application --/config --/models --/public ----/scss ----/css ----index.html ----gulfile.js --/routes .dockerignore .gitignore Dockerfile docker-compose.yml package.json server.js /appl
Docker compose
运行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']);
});
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
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
Dockerfile:
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']);
});
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
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:
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']);
});
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
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文件,但我浪费了几天时间来解决这个问题
此外,我还试着在容器内大口吞咽。实际上,它工作正常,但更改并没有反映在主机上
请不要建议使用现成的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
版本:“2”
服务:
web:&web
生成:。
命令:nodemon/app/server.js
卷数:
-.:/app/
-/app/node\u模块
-/app/public
-/app/config
-/app/models
-/app/routes
端口:
- "3000:3000"
取决于:
-蒙戈
大口喝:*网
命令:
蒙戈:
图片:mongo:最新
端口:
- "27018:27017"
重新启动:始终
您可以在compose文件中添加单独的服务,以在单独的容器中运行单独的命令(请参见下面的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
版本:“2”
服务:
web:&web
生成:。
命令:nodemon/app/server.js
卷数:
-.:/app/
-/app/node\u模块
-/app/public
-/app/config
-/app/models
-/app/routes
端口:
- "3000:3000"
取决于:
-蒙戈
大口喝:*网
命令:
蒙戈:
图片:mongo:最新
端口:
- "27018:27017"
重新启动:始终
您是否考虑过在compose文件中使用共享代码库和共享卷设置单独的服务?一个服务将运行gulp,另一个运行Node。这就是我运行rails+后台任务的方式。这是运行应用程序并运行gulp afetr的错误做法。当您使用基本节点映像运行Node应用程序时。y您可以安装gulp并复制和安装所有要求,docker compose up是否考虑过在您的compose文件中使用共享代码库和共享卷设置单独的服务?一个服务将运行gulp,另一个运行节点。这就是我运行rails+后台任务的方式。这是运行应用程序和运行gulp af的错误做法etr it。当您使用基本节点映像运行节点应用程序时,您可以安装gulp,复制并安装所有需求,并进行docker组装