久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

<tfoot id='qsTvW'></tfoot>

      • <bdo id='qsTvW'></bdo><ul id='qsTvW'></ul>
    1. <legend id='qsTvW'><style id='qsTvW'><dir id='qsTvW'><q id='qsTvW'></q></dir></style></legend>

      <i id='qsTvW'><tr id='qsTvW'><dt id='qsTvW'><q id='qsTvW'><span id='qsTvW'><b id='qsTvW'><form id='qsTvW'><ins id='qsTvW'></ins><ul id='qsTvW'></ul><sub id='qsTvW'></sub></form><legend id='qsTvW'></legend><bdo id='qsTvW'><pre id='qsTvW'><center id='qsTvW'></center></pre></bdo></b><th id='qsTvW'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='qsTvW'><tfoot id='qsTvW'></tfoot><dl id='qsTvW'><fieldset id='qsTvW'></fieldset></dl></div>
      1. <small id='qsTvW'></small><noframes id='qsTvW'>

        如何在 docker 容器中使用 gulp 運行 livereload?

        How to run livereload with gulp within a docker container?(如何在 docker 容器中使用 gulp 運行 livereload?)
          <tbody id='thwbp'></tbody>
        <i id='thwbp'><tr id='thwbp'><dt id='thwbp'><q id='thwbp'><span id='thwbp'><b id='thwbp'><form id='thwbp'><ins id='thwbp'></ins><ul id='thwbp'></ul><sub id='thwbp'></sub></form><legend id='thwbp'></legend><bdo id='thwbp'><pre id='thwbp'><center id='thwbp'></center></pre></bdo></b><th id='thwbp'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='thwbp'><tfoot id='thwbp'></tfoot><dl id='thwbp'><fieldset id='thwbp'></fieldset></dl></div>

        <small id='thwbp'></small><noframes id='thwbp'>

          <tfoot id='thwbp'></tfoot><legend id='thwbp'><style id='thwbp'><dir id='thwbp'><q id='thwbp'></q></dir></style></legend>
          • <bdo id='thwbp'></bdo><ul id='thwbp'></ul>

                1. 本文介紹了如何在 docker 容器中使用 gulp 運行 livereload?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                  問題描述

                  限時送ChatGPT賬號..

                  我創(chuàng)建了一個 docker 容器來使用 gulp 運行任務(wù).所有任務(wù)都在運行,問題是我無法在 Chrome 中啟用 livrereload,盡管我在容器中暴露了 35729 端口.

                  I created a docker container to run tasks with gulp. All tasks are running, the problem is I can't enable livrereload in Chrome although I exposed the 35729 port in my container.

                  這里是 Dockerfile:

                  Here is the 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"]
                  

                  我使用以下命令創(chuàng)建圖像:

                  I create the image with the following command :

                  docker build -t gulp_image .
                  

                  我創(chuàng)建了一個容器:

                  docker run --name=gulp_container -i -t  --rm  -v /var/www/my_app:/var/www/my_app:rw gulp_image bash
                  

                  然后在我的容器中

                  cd /var/www/my_app
                  gulp
                  

                  這是我的 Gulpfile.js

                  Here is my 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']);
                  

                  當(dāng)我編輯一個 js 文件時,我可以在我的容器中看到文件已被處理,但是當(dāng)我嘗試在我的瀏覽器 (Chrome) 中啟用實時重新加載時,我收到以下消息:無法連接到 LiveReload 服務(wù)器.."

                  When I edit a js file, I can see in my container that the files are processed but when I try to enable live reload in my browser (Chrome), I got the following message : "Could not connect to LiveReload server.."

                  有人知道我錯過了什么或沒有做什么嗎?感謝閱讀!

                  Anyone got a clue about what I missed or didn't do ? Thanks for reading !

                  推薦答案

                  在容器中暴露端口并不意味著將在 docker 主機上打開端口.您應(yīng)該使用 docker run -p 選項.文檔說:

                  Exposing ports in a container does not imply that the ports will be opened on the docker host. You should be using the docker run -p option. The documentation says:

                  -p=[] : 將容器的端口或一系列端口發(fā)布到主機

                  -p=[] : Publish a container?s port or a range of ports to the host

                  格式: ip:hostPort:containerPort |ip::containerPort |hostPort:containerPort |containerPort

                  hostPortcontainerPort 都可以指定為一個端口范圍.

                  Both hostPort and containerPort can be specified as a range of ports.

                  為兩者指定范圍時,范圍內(nèi)的容器端口數(shù)必須與范圍內(nèi)的主機端口數(shù)匹配.(例如,-p 1234-1236:1234-1236/tcp)(使用 'docker port' 查看實際映射)

                  When specifying ranges for both, the number of container ports in the range must match the number > of host ports in the range. (e.g., -p 1234-1236:1234-1236/tcp) (use 'docker port' to see the actual mapping)

                  由于您嘗試了 -p containerPort 形式,當(dāng)您運行 docker run 命令時,docker 會隨機選擇在您的主機(Linux mint)上打開的實際端口.要確定選擇了哪個端口,您必須使用 docker port 命令.

                  Since you tried the -p containerPort form, the actual port opened on your host (Linux mint) was randomly chosen by docker when you run the docker run command. To figure out what port was chosen, you have to use the docker port command.

                  由于不方便,所以應(yīng)該使用-p hostPort:containerPort形式,并指定hostPort35729.(我還假設(shè)您希望端口 80、8080 和 3000 可以以相同的方式訪問)

                  Since this is not convenient, you should use the -p hostPort:containerPort form, and specify that hostPort is 35729. (I also assume you expect ports 80, 8080 and 3000 to be accessible in the same manner)

                  運行容器的命令是:

                  docker run --name=gulp_container -i -t --rm 
                      -v /var/www/my_app:/var/www/my_app:rw 
                      -p 35729:35729 
                      -p 80:80 
                      -p 8080:8080 
                      -p 3000:3000 
                      gulp_image bash
                  

                  處理端口的更簡單方法是在 主機網(wǎng)絡(luò)模式下運行 docker 容器.在這種模式下,在容器上打開的任何端口實際上都是在主機網(wǎng)絡(luò)接口上打開的(它們實際上都是共享同一個接口).

                  An easier way to deal with ports is to run your docker container in host networking mode. In this mode, any port opened on the container is in fact opened on the host network interface (they are actually both sharing the same interface).

                  然后您將使用以下命令啟動您的容器:

                  You would then start your container with:

                  docker run --name=gulp_container -i -t --rm 
                      -v /var/www/my_app:/var/www/my_app:rw 
                      --net=host  
                      gulp_image bash
                  

                  這篇關(guān)于如何在 docker 容器中使用 gulp 運行 livereload?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                  【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

                  相關(guān)文檔推薦

                  Browserify, Babel 6, Gulp - Unexpected token on spread operator(Browserify,Babel 6,Gulp - 傳播運算符上的意外令牌)
                  Is it possible to pass a flag to Gulp to have it run tasks in different ways?(是否可以將標(biāo)志傳遞給 Gulp 以使其以不同的方式運行任務(wù)?)
                  Why do we need to install gulp globally and locally?(為什么我們需要在全局和本地安裝 gulp?)
                  How to run Gulp tasks sequentially one after the other(如何一個接一個地依次運行 Gulp 任務(wù))
                  Stylesheet not loaded because of MIME-type(由于 MIME 類型而未加載樣式表)
                  Visual Studio 2015 crashes when opening Javascript files(打開 Javascript 文件時 Visual Studio 2015 崩潰)
                    <tbody id='i22xc'></tbody>
                    <legend id='i22xc'><style id='i22xc'><dir id='i22xc'><q id='i22xc'></q></dir></style></legend>
                    <i id='i22xc'><tr id='i22xc'><dt id='i22xc'><q id='i22xc'><span id='i22xc'><b id='i22xc'><form id='i22xc'><ins id='i22xc'></ins><ul id='i22xc'></ul><sub id='i22xc'></sub></form><legend id='i22xc'></legend><bdo id='i22xc'><pre id='i22xc'><center id='i22xc'></center></pre></bdo></b><th id='i22xc'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='i22xc'><tfoot id='i22xc'></tfoot><dl id='i22xc'><fieldset id='i22xc'></fieldset></dl></div>

                      <bdo id='i22xc'></bdo><ul id='i22xc'></ul>

                      1. <small id='i22xc'></small><noframes id='i22xc'>

                        • <tfoot id='i22xc'></tfoot>
                          • 主站蜘蛛池模板: 福利在线看 | 日本精品一区二区三区在线观看视频 | 国产精品久久久久永久免费观看 | 精品国产乱码久久久久久牛牛 | 欧美一级免费 | 青青久久av北条麻妃海外网 | 亚洲在线免费观看 | av天天看 | 久久黄色网| www.婷婷| 国产真实精品久久二三区 | 91精品国产91久久久久久密臀 | 干干干日日日 | 91www在线观看 | 成人精品国产 | 精品av天堂毛片久久久借种 | 中文字幕在线一区 | 超碰地址| 亚洲午夜av久久乱码 | 亚洲精品欧美 | 91亚洲精品国偷拍自产在线观看 | 国产精品免费一区二区三区 | 五月综合激情婷婷 | 国产精品久久久久久久 | 97视频在线观看免费 | 国产精品久久av | 国产高清视频在线观看 | 久久久精 | 欧美最猛黑人xxxⅹ 粉嫩一区二区三区四区公司1 | 99婷婷 | 亚洲欧美日韩精品久久亚洲区 | 欧美综合国产精品久久丁香 | 秋霞电影院午夜伦 | 欧美中文字幕一区二区三区亚洲 | 午夜在线视频 | 国产日韩在线观看一区 | 欧美一区二不卡视频 | 99国产精品久久久久老师 | 亚洲91精品 | 中文字幕人成乱码在线观看 | 国产成人福利视频 |