databio / hub.bulker.io

Bulker registry
http://hub.bulker.io
BSD 2-Clause "Simplified" License
5 stars 1 forks source link

coreutils manifest #13

Open nsheff opened 4 years ago

nsheff commented 4 years ago

I think it would be useful to have a manifest that provides all the core utils for strict runs

@jpsmith5 you were working on something similar, what did you decide on? I see a lot of coreutils made it into terminal manifests (like peppro), are you planning to make a bulker/coreutils manifest and import that, so these can be shared among manifests?

jpsmith5 commented 4 years ago

Yes, I did create one, and I'm realizing now I never pushed that to docker hub I believe. I built it and was successfully using that on local desktop. I am running in to lab this evening to grab a few items and will ensure that's pushed as well. Thought I had finalized everything there but obviously not.

It's the databio/alpine-coreutils image. Basically, it's alpine linux with GNU coreutils installed. Still very lightweight at < 10 MB.

jpsmith5 commented 4 years ago

So, to clarify. Not a manifest, but a new docker image. Can revert that to a manifest if we think that's better?

jpsmith5 commented 4 years ago

We had talked about ensuring greater version control. Which the image creates versus importing host commands... Not sure the merit there, as obviously we are then in charge of updating the image.

nsheff commented 4 years ago

here are a few thoughts:

  1. did you make an image without a Dockerfile? you should always make a Dockerfile. Wait, I see you did -- so what are you talking about?

and will ensure that's pushed as well.

why don't you just rebuild and push it if you want it pushed?

  1. was there really not an existing official docker image for coreutiles such that you had to make your own? I haven't looked but that surprises me

So, to clarify. Not a manifest, but a new docker image. Can revert that to a manifest if we think that's better?

  1. We definitely want to import a base coreutils manifest so we don't have to put this into every single manifest

to be clear: the manifest would use your image (or ideally an official coreutils one if it existed, so we don't have to maintain it)

jpsmith5 commented 4 years ago
  1. Hah! Yes, I forgot I pushed that to the dockerfiles repo (good job me). So, I can rebuild it and push to docker hub anytime as you say.
  2. Yes, I also was surprised. I could not find any official one. The alpine distro has the majority of GNU coreutils, but it did not have all. At least, the current official release version didn't. When I searched alpine linux in general, it would have them, but I could not execute all that I needed from the docker image. In this case, the primary one was join that wasn't present and I use in multiple pipelines.
  3. Gotcha. Okay. Will set that manifest up.
nsheff commented 4 years ago

ok make your manifest have everything on the coreutils list

nsheff commented 4 years ago

everything

at least, everything that makes sense (su for example doesn't make sense... if needed it should be a host command I guess...)

may require some tweaking as we go

jpsmith5 commented 4 years ago

Gotcha. Will do.

nsheff commented 4 years ago

I think whoami should probably be left as a host command... ?

jpsmith5 commented 4 years ago

Does it get added to alpine? Or just removed from containerization?