containers / build

another build tool for container images (archived, see https://github.com/rkt/rkt/issues/4024)
Apache License 2.0
342 stars 80 forks source link

Documentation uses coreos/alpine-sh, which is out of date #258

Closed andy-twosticks closed 7 years ago

andy-twosticks commented 7 years ago

coreos/alpine-sh hasn't been updated for a year as I write. It is at v3.2.3, which is 2 versions behind and, for me at least, not something I can make use of.

I doubt very much that this image is the responsibility of this project, but the fact remains that your examples point to it in multiple places.

Could we go into how to use other images in the documentation a little? The acbuild dependency documentation is pretty vague on this point. Does "Example.com/imagename" refer to an actual website on the network, http://example.com, or the name of a container in the Rkt image library? If I want to use https://hub.docker.com/_/alpine/, can I? How?

cgonyeo commented 7 years ago

Could we go into how to use other images in the documentation a little?

All of the documentation on dependencies is a little lacking, I really need to write more on it.

Does "Example.com/imagename" refer to an actual website on the network, http://example.com, or the name of a container in the Rkt image library?

Kind of both.

When rkt attempts to load an image with a dependency on example.com/imagename, it will first check its local store for this image, and if it's not there it'll then attempt to perform AppC discovery to go find it on the network.

With acbuild it doesn't have a persistent store, so if it needs to fetch dependencies (which it does when the acbuild run command is used) it'll just search on the network for it. Getting a persistent acbuild store has been on my todo list for a while.

If I want to use https://hub.docker.com/_/alpine/, can I? How?

You cannot reference docker images as dependencies in an AppC image, so acbuild doesn't allow acbuild dependency add docker://alpine.

You can, however, run a docker image through docker2aci, and then open that image for modification with acbuild. There's even support for this in acbuild for convenience, acbuild begin docker://alpine.

The practical difference between dep add and begin is that dep add will point to an image in the manifest, and not include it in any way, and begin will modify an image, meaning the resulting output will include the entire contents of the image.

cgonyeo commented 7 years ago

I'll keep this issue open as a "please write better documentation on dependencies".