Tôi đã tạo một vùng chứa docker để chạy các tác vụ với gulp. Tất cả các tác vụ đang chạy, vấn đề là tôi không thể bật tính năng tải lại trong Chrome mặc dù tôi đã tiếp xúc với cổng 35729 trong vùng chứa của mình.Làm thế nào để chạy ganeload với gulp trong một container docker?
Đây là Dockerfile:
FROM ubuntu:latest
MAINTAINER jiboulex
EXPOSE 80 8080 3000 35729
RUN apt-get update
RUN apt-get install curl -y
RUN apt-get install software-properties-common -y
RUN add-apt-repository ppa:chris-lea/node.js
RUN apt-get update
RUN apt-get install nodejs -y
RUN curl -L https://www.npmjs.com/install.sh | sh
RUN npm install --global gulp -y
# overwrite this with 'CMD []' in a dependent Dockerfile
CMD ["/bin/bash"]
tôi có thể tạo hình ảnh với lệnh sau:
docker build -t gulp_image .
tôi tạo một bình chứa:
docker run --name=gulp_container -i -t --rm -v /var/www/my_app:/var/www/my_app:rw gulp_image bash
sau đó trong container của tôi
cd /var/www/my_app
gulp
Đây là Gulpfile.js tôi
var gulp = require('gulp'),
livereload = require('gulp-livereload'),
exec = require('child_process').exec;
gulp.task('js', function() {
gulp.src([
'./src/js/*.js'
]).pipe(livereload());
});
gulp.task('watch', function(){
var onChange = function (event) {
console.log('File '+event.path+' has been '+event.type);
};
livereload.listen();
gulp.watch([
'./src/js/*.js'
], ['js'])
.on('change', onChange);
});
gulp.task('default', ['watch', 'js']);
Khi tôi chỉnh sửa một tập tin js, tôi có thể nhìn thấy trong container của tôi rằng các tập tin được xử lý nhưng khi tôi cố gắng để cho phép tải lại sống trong trình duyệt của tôi (Chrome), Tôi nhận được thông báo sau: "Không thể kết nối với máy chủ LiveReload .."
Bất cứ ai cũng có một đầu mối về những gì tôi đã bỏ lỡ hoặc không làm? Cảm ơn bạn đã đọc!
trong lệnh chạy của bạn, tôi không thấy '-p 80'and như vậy? – user2915097
Bạn có đang sử dụng Windows hoặc OS X không? – Thomasleveil
Tôi đang sử dụng Linux (bạc hà) Tôi đã thử với lệnh 'docker run --name = gulp_container -i -t -p 80 -p 35729 --rm -v/var/www/my_app:/var/www/my_app : rw gulp_image bash' nhưng nó không tốt hơn. Khi tôi chạy 'docker ps -a', tôi có thể thấy các cổng được kích hoạt trong Dockerfile của tôi được tính đến. – jiboulex