Open dastbe opened 4 years ago
That’s a really cool idea. Let us do some research and we’ll comment back on what we find. Thanks for the thorough suggestion!
@nthomson-amazon built an awesome prototype with copilot here: https://github.com/nthomson-amazon/copilot-cli/commit/0d7934c766221416c6ef75fa3ff09cb43417c23e !
Some cool folks on Twitter brought this up again :)
We'd also love this - brought this up with our TAM - but are specifically looking for supporting arbitrary container images. We allow developers to build images however they want, and then push those images to ECR.
Ideally, we can specify an arbitrary image to be deployed without needing a Dockerfile.
Work aside, I was also looking at adding support for ECS/Fargate to the Dokku PaaS via fargatecli. That is no longer supported in favor of copilot, and Dokku handles building the image itself, so using copilot is dead in the water without extra setup.
Hey @josegonzalez !!! We can actually use pre-built images in Copilot :) https://aws.github.io/copilot-cli/docs/manifest/lb-web-service/#image-location
We just don't support buildpacks yet.
Is that something we can specify via a cli file?
Yea :D When you run init (or any of the svc or job inits) you can specify an --image
flag.
I see there was a prototype over a year ago. Any progress on this?
As a company transitioning from PCF -> AWS Native, the idea of having to make Dockerfiles just seems kludgy / a step backward.
Hello @Cordivae. Sorry so far we still can't get to this issue. For features, we mostly prioritize our tasks based on how many 👍 we get for it. We'll probably wait until this feature gains more popularity. Please keep track of this issue for more update. Thank you!
So while I generally do write a Dockerfile for my applications, I find that what I usually is do is replicate the same few steps depending on the language I'm using, usually cribbing from a tutorial written within the last few months. Given pretty much everything I write is in the standard format for that language's build system/package manager, it should be the case that copilot or some other software should figure this out for me.
One possible option would be buildpacks, which handles auto-detection of what to execute to build/container the app and would only require specifying the builder base image (which could also have a well-defined default). In that world, I could take most any arbitrary app I have and build and deploy it from the copilot cli.