Docker 和 BrowserSync
Docker and BrowserSync
我正尝试在我的 docker 容器中 运行 browsersync,但我只在导航到 localhost:3000 时获得目录列表。我正在尝试 运行 一个 WordPress 实例,并且我正在使用 Gulp 作为任务 运行ner。 localhost:3001 成功启动 browsersync ui 并查看 localhost(无端口)打开主页。以下是我认为的相关代码片段。
Gulp文件 BrowserSync 设置:
const gBrowsersync = function(done) {
browsersync.init({
open: false,
});
done();
};
Docker-撰写:
version: "3.7"
services:
db:
image: mysql:5.7
container_name: db
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
volumes:
- db_data:/var/lib/mysql
networks:
- back
wordpress:
build: .
image: ws-wordpress
container_name: wp
depends_on:
- db
restart: always
ports:
- "80:80"
- "3000:3000"
- "3001:3001"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: password
volumes:
- ./wp-content/:/var/www/html/wp-content/
- ./sw.js:/var/www/html/sw.js
- ./manifest.json:/var/www/html/manifest.json
- ./package.json:/var/www/html/package.json
- ./gulpfile.babel.js:/var/www/html/gulpfile.babel.js
- ./webpack.config.js:/var/www/html/webpack.config.js
networks:
- back
networks:
back:
volumes:
db_data:
Docker文件:
FROM wordpress
RUN apt-get update -y
RUN apt-get install gnupg -y
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN apt-get install nodejs -y
RUN apt-get install nano -y
添加了代理选项,现在可以使用@localhost:3000
const gBrowsersync = function(done) {
browsersync.init({
open: false,
proxy: "localhost"
});
done();
};
不确定为什么我必须添加 localhost 作为代理。如果有人能提供一个简短的解释,我将不胜感激。
我没有更改浏览器同步,但我需要像这样公开端口:
docker-compose.foundation.yaml
version: '3.6'
#ddev-ext-foundation
services:
web:
ports:
- "127.0.0.1:$DDEV_HOST_WEBSERVER_PORT:8000"
environment:
- HTTP_EXPOSE=${DDEV_ROUTER_HTTP_PORT}:80,${DDEV_MAILHOG_PORT}:8025,8000
我正尝试在我的 docker 容器中 运行 browsersync,但我只在导航到 localhost:3000 时获得目录列表。我正在尝试 运行 一个 WordPress 实例,并且我正在使用 Gulp 作为任务 运行ner。 localhost:3001 成功启动 browsersync ui 并查看 localhost(无端口)打开主页。以下是我认为的相关代码片段。
Gulp文件 BrowserSync 设置:
const gBrowsersync = function(done) {
browsersync.init({
open: false,
});
done();
};
Docker-撰写:
version: "3.7"
services:
db:
image: mysql:5.7
container_name: db
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
volumes:
- db_data:/var/lib/mysql
networks:
- back
wordpress:
build: .
image: ws-wordpress
container_name: wp
depends_on:
- db
restart: always
ports:
- "80:80"
- "3000:3000"
- "3001:3001"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: password
volumes:
- ./wp-content/:/var/www/html/wp-content/
- ./sw.js:/var/www/html/sw.js
- ./manifest.json:/var/www/html/manifest.json
- ./package.json:/var/www/html/package.json
- ./gulpfile.babel.js:/var/www/html/gulpfile.babel.js
- ./webpack.config.js:/var/www/html/webpack.config.js
networks:
- back
networks:
back:
volumes:
db_data:
Docker文件:
FROM wordpress
RUN apt-get update -y
RUN apt-get install gnupg -y
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN apt-get install nodejs -y
RUN apt-get install nano -y
添加了代理选项,现在可以使用@localhost:3000
const gBrowsersync = function(done) {
browsersync.init({
open: false,
proxy: "localhost"
});
done();
};
不确定为什么我必须添加 localhost 作为代理。如果有人能提供一个简短的解释,我将不胜感激。
我没有更改浏览器同步,但我需要像这样公开端口: docker-compose.foundation.yaml
version: '3.6'
#ddev-ext-foundation
services:
web:
ports:
- "127.0.0.1:$DDEV_HOST_WEBSERVER_PORT:8000"
environment:
- HTTP_EXPOSE=${DDEV_ROUTER_HTTP_PORT}:80,${DDEV_MAILHOG_PORT}:8025,8000