Utworzono kontener dokera, aby wykonywać zadania z haustem. Wszystkie zadania są uruchomione, problem polega na tym, że nie mogę włączyć livrereload w Chrome, chociaż odsłoniłem port 35729 w moim kontenerze.Jak uruchomić livereload z gulpem w kontenerze dokowania?
Oto 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"]
tworzę obraz za pomocą następującego polecenia:
docker build -t gulp_image .
tworzę kontener:
docker run --name=gulp_container -i -t --rm -v /var/www/my_app:/var/www/my_app:rw gulp_image bash
następnie w moim zbiorniku
cd /var/www/my_app
gulp
Oto moja Gulpfile.js
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']);
Kiedy edytować plik js, widzę w moim zbiorniku, że pliki są przetwarzane, ale gdy próbuję włączyć żywo reload w mojej przeglądarce (Chrome), Otrzymałem następujący komunikat: "Nie można połączyć się z serwerem LiveReload."
Ktoś ma pojęcie o tym, co przegapiłem lub czego nie zrobiłem? Dzięki za przeczytanie!
w Twoim poleceniu uruchamiania, nie patrz '-p 80'and tak? – user2915097
Czy jesteś w systemie Windows lub OS X? – Thomasleveil
Jestem na Linux (mennica) Próbowałem za pomocą polecenia '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', ale nie było lepiej. Po uruchomieniu 'docker ps -a' widzę włączone porty w moim pliku Dockerfile. – jiboulex