Невозможно использовать docker-compose с gulp-webserver - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь использовать gulp-webserver с Docker, но я не могу получить веб-страницы из хост-системы

У меня есть этот Docker файл

FROM node:8

# Create app directory
WORKDIR /usr/src/app

COPY package*.json ./

COPY gulpfile.js .

RUN npm install -g gulp
RUN npm install gulp

# Run when the container launches
CMD ["gulp"]

Я использую его сdocker-compose.yml файл, как этот:

  web:
    container_name: "web"
    build: ./web/
    restart: always
    ports:
      - "3000:3000"
    volumes:
      - "./web/src:/usr/src/app/src"

Все выглядит хорошо.Действительно, в журнале я вижу:

web         | [18:06:08] Webserver started at http://localhost:3000
web         | [18:06:08] Finished 'serve' after 8.08 ms
web         | [18:06:08] Starting 'watch'...
web         | [18:06:08] Finished 'watch' after 78 ms
web         | [18:06:08] Starting 'default'...
web         | [18:06:08] Finished 'default' after 2.85 μs

Если я позвоню curl localhost:3000 внутри контейнера , я получу свою страницу.Однако я не могу дозвониться до http://localhost:3000 с хост-системы.

Что происходит?

1 Ответ

0 голосов
/ 03 июня 2019

Оказывается, моя проблема была связана с настройкой gulp-webserver.В самом деле, чтобы получить доступ к серверу из сети хоста, вам нужно установить для параметра host значение '0.0.0.0'.Например,

gulp.task('webserver', function() {
  gulp.src('app')
    .pipe(webserver({
      port: 3000,
      livereload: true,
      host: '0.0.0.0'
    }));
});
...