-
Notifications
You must be signed in to change notification settings - Fork 218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dev Container: can't run playground or book (can run website) #4482
Comments
I just tried it and it does work for me — does "Dev Containers: Rebuild Dev Container" work?
|
I did rebuild the Dev Container. To be clear, it compiles/runs fine. The problem is that the web interface doesn't appear for either the playground or book. Here's a video: |
Thanks for the video! My message wasn't that clear — I get that text but I also get a working playground in my browser. (FWIW it takes a while to load, but sounds like that's not the problem here...) To the extent you want to look more — does the running docker container map the ports correctly? |
I waited ~10 minutes for the playground and it didn't appear... Same (10 minutes) for the book. But the website pops right up in under a second. Curiously, the Website port 1313 comes and goes: when I'm running the website, it appears. When I ^C, it goes away (from the bar at the bottom of VSCode). Both ports 5173 & 3000 show as forwarded all the time. I wonder if that's an important difference. |
One more idea — does |
COOOOOOL... Nice debugging technique! Yes - both playground and book are available (say, with Now - what to do with that information? |
Sounds like there's a docker issue then; admittedly I'm not sure what... |
@eitsupi or @vanillajonathan - any thoughts on this behavior? Thanks |
No, I have no thoughts on this. |
IIUC, are you running something like |
When I run that command from the container, it works. I see the HTML text that I expect. Sample:
When I run that same command from a terminal (not in the Dev Container), I do not get any output. Sample:
|
I see. If you're doing port forwarding properly, I think it's a VSCode Devcontainer issue |
Yes I see this. A couple differences:
|
OK — sounds like the ports are working from within the container, and VS Code is attempting to forward the ports but somehow something is getting in the way. It doesn't seem to be a PRQL-specific issue though... To the extent you want to pursue further, it could be worth trying to see whether a non-PRQL webserver works; e.g. |
Update: I have a Win11 box that also has Docker (version 4.29.0) installed. I pulled the latest PRQL commit (22May) and tested: all three (Playground, Book, Website) worked as expected. I saw that Docker had an update (to 4.30.0) and installed that. I then re-ran the test (using the same commit of PRQL), and it fails as described above: neither Playground nor Book appear in the browser window; the Website works as expected. I have submitted a support request at Docker and will report back if I hear anything interesting. |
Again, I think this is a VSCode Devcontainer issue, not a Docker issue. |
Ahah... I now understand the importance of your prior comment. How could we get help with this? I'm happy to ask on some other forum... Thanks. |
Several more clues/observations - some might be important. See my questions below:
Questions:
Thanks as always. |
Maybe the blog post announcing Docker Desktop 4.30 can give some hints? |
Will close since it's not a PRQL issue but feel free to continue any discussions.... |
Update: To keep all these together, this note lists my posts to the Docker Forum and on Stack Overflow... Docker Forum: https://forums.docker.com/t/docker-desktop-4-30-0-upgrade-breaks-web-based-container/141603 |
Solution: I solved this by binding to address 0.0.0.0 in the DevContainer commands to run each of the components. (Previously, each of the commands used some variety of "localhost", "127.0.0.1", etc.) Forcing them to use 0.0.0.0 works great. Thanks to https://stackoverflow.com/a/78534816/1827982 for a hint. New PR coming later today |
What happened?
Using PRQL commit 9095495 in a Docker container on macOS on Intel (latest Docker: 4.30.0):
With the update to MSRV, I decided to rebuild. I removed all images, volumes, and containers related to PRQL. I then rebuilt the container.
task web:run-website
works exactly as expected. However both these commands give problems:task web:run-playground
andtask web:run-book
Both tasks seem to run in the terminal window as usual, however, going to the associated web page only displays a blank page. The browser looks as if it's waiting indefinitely.
Using
curl
shows that no response comes from the web server (see below). What other diagnostic info could I provide?Update: Using
curl
from a terminal window within VSCode works as expected for both the playground and book.PRQL input
SQL output
N/A
Expected SQL output
N/A
MVCE confirmation
Anything else?
No response
The text was updated successfully, but these errors were encountered: