Ho creato un contenitore finestra mobile per eseguire attività con gulp. Tutte le attività sono in esecuzione, il problema è che non riesco ad abilitare livrereload in Chrome anche se ho esposto la porta 35729 nel mio contenitore.Come eseguire livereload con gulp in un contenitore docker?
Ecco la 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"]
creo l'immagine con il seguente comando:
docker build -t gulp_image .
creo un contenitore:
docker run --name=gulp_container -i -t --rm -v /var/www/my_app:/var/www/my_app:rw gulp_image bash
poi nel mio container
cd /var/www/my_app
gulp
Ecco il mio 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']);
Quando modifica un file js, posso vedere nel mio contenitore che i file vengono elaborati, ma quando provo ad abilitare ricarica dal vivo nel mio browser (Chrome), Ho ricevuto il seguente messaggio: "Impossibile connettersi al server LiveReload .."
Qualcuno ha un indizio su cosa ho perso o non fatto? Grazie per la lettura!
in ordine di marcia, non vedo il '-p 80'and così? – user2915097
Sei su Windows o OS X? – Thomasleveil
Sono su Linux (nuovo) Ho provato con il comando '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', ma non era meglio. Quando eseguo 'docker ps -a' posso vedere le porte abilitate nel mio Dockerfile sono prese in considerazione. – jiboulex