我正在尝试将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。
这是怎么回事?
答案 0 :(得分:0)
原来我的问题与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'
}));
});