Rancher-compose dependency on S3

Why does rancher-compose depend on S3 for docker builds from the local directory per https://github.com/rancher/rancher-compose

Wouldn’t it be more natural to specify a docker registry (for uploaded images) and default to the public docker hub? Why bring in another 3rd party dependency (a big roadblock to developers who don’t currently use AWS?)

You bring up a good point. The reason why it was done this way can be looked at as an optimization, but probably shouldn’t be the default. If we do builds based on DockerHub it’s significantly slower. For example, your git repo may only have 5MB of content in it but will produce a Docker image that will require you to upload 100’s of MB to DockerHub. And pushes are really quite slow. With the S3 approach you upload a very small amount of content.

I think what we can do is do the default DockerHub upload by default and make the S3 approach be an option. Does that sound okay? I agree it is an unneeded barrier to require a S3 account.

I’ve been thinking about something:

Rancher could have a box where users paste the whole Dockerfile-- basically Rancher could GUI-ify the whole docker process (far too late for me, but hey, I know a lot more about a lot of things, so the CLI wasn’t all bad for me…)

Or-- Rancher could have a git input field. Use this field to paste in the URL of a git repo, Rancher clones and builds the Dockerfile.

@Jacob_Gadikian We do support git already for builds. In the docker-compose.yml you can do build: git@github.com:foo/bar.git or point the build to a Dockerfile at a HTTP location.

We could very well just take a Dockerfile in the UI too. I don’t know how many people want that though as it seems builds often seem more involved than just a Dockerfile.

Well, for the builder I was kinda thinking:

  • Dockerfile(1-infinity)
  • Docker-compose
  • Rancher-compose

All templated and laid out on the same screen, with a “launch” button at the end. It would of course save your config for later fiddling.

^Probably not v.1.0 stuff!