Quick question regarding prefect server and Docker...
# prefect-community
f
Quick question regarding prefect server and Docker: I tried to get the UI running on a Windows Server 2019 environment but run into the following error:
Copy code
prefect server start
Pulling postgres  ... pulling from library/postgres
Pulling hasura    ... pulling from hasura/graphql-engine
Pulling graphql   ... pulling from prefecthq/server
Pulling scheduler ... pulling from prefecthq/server
Pulling apollo    ... pulling from prefecthq/apollo
Pulling ui        ... pulling from prefecthq/ui

ERROR: for postgres  no matching manifest for windows/amd64 10.0.17763 in the manifest list entries
ERROR: for ui  image operating system "linux" cannot be used on this platform
ERROR: for scheduler  image operating system "linux" cannot be used on this platform
ERROR: for graphql  image operating system "linux" cannot be used on this platform
ERROR: for apollo  image operating system "linux" cannot be used on this platform
ERROR: for hasura  image operating system "linux" cannot be used on this platform
ERROR: image operating system "linux" cannot be used on this platform
Exception caught; killing services (press ctrl-C to force)
Had anyone else similar issues before? Thanks! p.S.: the Docker installation looks good. At least the Hello World image works flawlessly.
Copy code
docker-compose --version
docker-compose version 1.25.5, build 8a1c60f6
(RodeoEnv) PS C:\windows\system32> docker --version
Docker version 19.03.5, build 2ee0c57608
(RodeoEnv) PS C:\windows\system32>
k
Hey @Florian K. (He/Him), I’m not a Windows user myself, so let me try to get some more information for you from the team. Is this an issue that has arisen recently?
f
Hi @Kyle Moon-Wright. We are just starting to evaluate Prefect for the use in our hydrological modeling/forecasting systems. It is the first time for me to install it on a development server and I am not a windows person myself. Everything works fine on my linux machine!
k
There should be an option to switch between Windows and Linux containers from the Docker Desktop Menu, can you configure (or find) this setting at all? More information on how to change that setting can be found here.
f
I think Docker Desktop does not run on Windows Server, but I am sure there is the same setting to control the plain docker engine there. Thanks for that Hint, will look into it and report back!
k
Absolutely, please let us know what you encounter on your harrowing Windows Server journey…
f
I found a few things: • the installation of Docker on Windows Server 2019 comprises the docker engine only. docker compose needs to be installed separately (https://docs.docker.com/compose/install/) • as @Kyle Moon-Wright pointed out, this installation does not support linux images out of the box. Here is a guide how to change this on windows server: (half way down the article) https://computingforgeeks.com/how-to-run-docker-containers-on-windows-server-2019/ • enabling Hyper-V and more things that I have no understanding about seems to be necessary as well.... I am now at a point where
prefect server start
pulls the images and tries to fire up the components the prefect UI relies on (postgres, hasura, graphql, scheduler, apollo, ui). It never gets to the point where all the components are running but it continues to throw the error that it is not able to safely "build a schema".
There are a few other error messages from apollo and graphql as all these components seem to depend on each other?
k
Thanks for the update on your progress. Yep, those components build on top of one another after the image is pulled. Looks like you can build the backend components but it still errors on the frontend components.
f
For what it's worth, this is the final error message continues to show:
Copy code
apollo_1     | 2020-05-18T22:57:20.173Z Error fetching GraphQL health: FetchError: request to <http://graphql:4201/health> failed, reason: getaddrinfo ENOTFOUND graphql graphql:4201
apollo_1     | 2020-05-18T22:57:20.173Z Error: Could not safely build a schema!
apollo_1     |     at safelyBuildSchema (/apollo/dist/index.js:92:11)
apollo_1     |     at process._tickCallback (internal/process/next_tick.js:68:7) Could not safely build a schema! Error: Could not safely build a schema!
apollo_1     |     at safelyBuildSchema (/apollo/dist/index.js:92:11)
apollo_1     |     at process._tickCallback (internal/process/next_tick.js:68:7)
apollo_1     | 2020-05-18T22:57:20.173Z
apollo_1     | Trying again in 3 seconds...