I've been having a vexing time getting this launch...
# prefect-community
t
I've been having a vexing time getting this launched. I kick off the docker container using the master tag and it exits immediately with no logs or errors. When I shell into the container and try to launch the server, it errors out with "FileNotFoundError: [Errno 2] No such file or directory: 'docker-compose': 'docker-compose'"
So I abandoned Docker and used a virtualenv. PIP installed everything and tried prefect server start and got the same error:
"FileNotFoundError: [Errno 2] No such file or directory: 'docker-compose': 'docker-compose'"
c
Hi @tiz.io, as the error mentions you need to have docker compose installed and running for the Prefect backend + UI
t
It's running more than a dozen containers on that machine.
c
are you saying you have
docker-compose
installed? Can you confirm by running
which docker-compose
from the command line?
t
Hmm, apparently not. I expected it to be bundled in Docker but now that it is installed, I get a different error:
"ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the
services
key, or omit the
version
key and place your service definitions at the root of the file to use version 1. For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/"
It's a step forward anyway. I'm perplexed about this half-in half-out of Docker situation. Is it not possible to put all of Prefect into a single container?
c
FYI our docker-compose file is pinned to 3.7, which requires Docker engine 18.06.0+
t
Oh. I'm running this: Docker version 19.03.6, build 369ce74a3c
docker-compose --version docker-compose version 1.21.0, build unknown
Seems like it should be compatible, right?
c
i would think; i’m running 1.25.4 locally FWIW
t
Ok. I'll see if I can get something more recent than what's in apt.
Okay, just nabbed it straight from the source: docker-compose --version docker-compose version 1.24.0, build 0aa59064 Here goes nothing.
ian@yotta ~/code/coinbot % prefect server start /home/ian/.local/share/virtualenvs/coinbot-_bcYirIr/lib/python3.7/site-packages/prefect/cli/server.py236 YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. y = yaml.load(file) Pulling postgres ... waiting Pulling hasura ... done Pulling graphql ... downloading (53.2%) Pulling apollo ... waiting Pulling scheduler ... downloading (53.2%) Pulling ui ... done
Seems legit.
c
yup yup looks like it’s working
t
So regarding docker... If a guy really wanted to wrap it all up into one container, would that even be possible or would the reliance on creating its own container be a deal breaker?
c
hmmm in theory you might be able to but that would be an absolutely massively complicated image. You’d need: - postgres - hasura - various python services - a full npm environment running the UI all in 1 image which would be a anti-pattern in Docker
t
Makes sense. It would be amazing if it were an option (I'd be happy to let it use my standalone redis and postgres) so I could launch it all through Google's Cloud Run or on K8S. I'll have to tinker with it later.
My job is to research products like this and recommend them to enterprise customers.
c
if you don’t want to manage all this, you can always use the free tier of Prefect Cloud 😉 that manages all this infrastructure for you
t
They gravitate toward solutions that deploy easily in containers.
c
and still lets you have full control of your runtime environment for your workflows
t
Totally. The cloud portion looks amazing. I might be able to convince the hybrid cloud or on-prem users to go bare metal.
💯 1
Okay, now that I've figured out how to change the port (8080 is in high demand) I got it up and running. Thanks for your help Chris!
c
awesome! anytime