BioContainers / specs

BioContainers specifications
http://biocontainers.pro
Apache License 2.0
49 stars 12 forks source link

Small changes in the current schema of the docker files. #91

Closed ypriverol closed 6 years ago

ypriverol commented 6 years ago

Minor changes in the schema LABEL names to make them more consistent. Please @osallou @prvst @mr-c take a look at this PR. The basic idea here is to make standard the current names. We should consider a major redefinition of the schema for the future including the comments from @mr-c and other about been compatible with http://label-schema.org/rc1/ . I recommend to accept this PR first as small change to the schema and then move into a major changes.

@mr-c I think is more important now that you check if the current entry-point for containers is fine for cwl and also the use of biodocker user USER biodocker is also fine. We also recommend the use of the working directory WORKDIR /data/ please give us your feedback on that.

osallou commented 6 years ago

This would be fine for me but we need to coordinate. This will impact some scripts on continuous integration that checks some label rules as well as get container name and version from labels However modifying specs multiple times is a bit dangerous as may break several tools (web site, indexation etc...), should be limited as much as possible.

mr-c commented 6 years ago

Ideally, from a CWL perspective, there would not be a CMD either so that users wouldn't be tempted to leave basename blank in the CWL descriptions (thus making them non-portable).

The WORKDIR does not matter as the CWL reference runner mounts in its own.

It is good that the USER isn't root to discourage Dockerfiles that depend on that; note that the CWL reference runner (and many others) runs the as the "external" user so that file permissions are reasonable.

ypriverol commented 6 years ago

@mr-c Thanks for your comment. @osallou a couple of things: 1- we should avoid to put CMD in the Dockerfiles because this will give a default entry point.

@mr-c are you happy to use biodocker as the user?

osallou commented 6 years ago

for CMD, same as ENTRYPOINT. Setting it is interesting as user does not have to know where tool is installed, if not in path. But as it is not always the case for all containers, would make sense they all follow the same way to work, ie no ENTRYPOINT/CMD. However, would help users to know which exe are available in container. In debian Dockerfiles, I define a LABEL for this:

binaries="/usr/bin/abacas"

which may be a list of comma separated binaries (even if in this case binary is in PATH)

Le jeu. 15 févr. 2018 à 11:16, Yasset Perez-Riverol < notifications@github.com> a écrit :

@mr-c https://github.com/mr-c Thanks for your comment. @osallou https://github.com/osallou a couple of things: 1- we should avoid to put CMD in the Dockerfiles because this will give a default entry point.

@mr-c https://github.com/mr-c are you happy to use @biodocker as the user?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/BioContainers/specs/pull/91#issuecomment-365882698, or mute the thread https://github.com/notifications/unsubscribe-auth/AA-gYsK_jQODpZe7Qb_1LmOz2oZWd9Cmks5tVAPogaJpZM4SGCN4 .

osallou commented 6 years ago

should we not specify here what fields in LABELS are mandatory, and which one are optional? for example, about.documentation could be optional, if doc is in homepage (about.home)

osallou commented 6 years ago

looks good for me