我正在Docker设置中运行Shopware 6生产示例,使用PHP-FPM作为应用容器,使用nginx作为反向代理。一切正常,Shopware在https://localhost下提供服务。
现在我试着使用内置的热代理来使用热重载,因为热代理是在docker容器中运行的,所以我必须打开端口并将请求传递给应用容器。
使用./bin/watch-storefront.sh
启动热代理,启动时无错误或警告:
ℹ 「wds」: Project is running at https://localhost:9998/
ℹ 「wds」: webpack output is served from https://localhost:9998/
ℹ 「wds」: Content not from webpack is served from /var/www/html/vendor/shopware/storefront/Resources/app/storefront/dist
Starting the hot reload server:
DONE Compiled successfully in 7420ms 1:05:40 PM
############
Storefront proxy server started at https://localhost:9998
############
当我浏览到http://localhost:9998
或https://localhost:9998
时,我只收到一个502 Bad Gateway
错误。使用httpURL,服务器将Rejecting request "GET localhost/" on proxy server for "localhost:9998"
写入控制台。
"我真正做的"
我已将端口9998
和9999
添加到我的docker-compose.yml
:
- 停靠-编写.yml*
ports:
- "80:80"
- "443:443"
- "9000:3276"
- "9998:9998"
- "9999:9999"
我还扩展了我的nginx.conf,以便将请求传递给运行热重载服务器的应用程序容器。
- nginx.配置文件 *
server {
listen 9998 default_server;
location / {
proxy_pass http://naturanum_app:9998;
}
}
server {
listen 9999 default_server;
location / {
proxy_pass http://naturanum_app:9999;
}
}
server {
listen 3276 default_server;
location / {
proxy_pass http://naturanum_app:3276;
}
}
也遵循了文档,并建立了JavaScript,管理和店面一次,然后启动观察者-但它也不工作。
你知道如何在nginx反向代理后面的Docker容器中使用Webpack热代理吗?
1条答案
按热度按时间v9tzhpje1#
嗯,值得一提的是你运行的系统。我在Win10上遇到了一些问题,在WSL2上运行Docker时防火墙端口被封锁了。也许你也需要检查一下防火墙。
另一个要查看的资源是https://dockware.io构建的映像,它们的映像很健壮,并且配置为在大多数设置中运行观察器。你可以查看它们是如何在GitHub上构建这些映像的,看看它们使用了什么配置,也许这里会是一个很好的开始:https://github.com/dockware/dockware/blob/v1.5.4/template/Dockerfile.global.sh.twig