Dockerfile does not conform to entrypoint best practice
muppet3000 opened this issue · 8 comments
According to the consistency rules here: https://github.com/docker-library/official-images#consistency
The dockerfile should be changed to
CMD "git --help"
This will allow tools such as jenkins to run jobs in the way that it is expecting rather than having to hard code the overriding of the entrypoint every time.
Are you fine to raise the PR?
Also, I find that some CI systems are not too happy with the VOLUMES entry. Is the volume really needed? Can we not just drop it? I think the workdir is more then enough.
Here is a proposed entrypoint.sh:
#!/bin/sh
cmd='git'
if [[ -x "$1" && -f "$1" ]]; then
cmd="$1"
shift
fi
exec "$cmd" "$@"
This would be integrated in the Dockerfile like so:
FROM alpine
WORKDIR /git
COPY entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]
CMD []
there was an exist PR #10 for similar requirement.
If we agree to go with the consistency rules, please raise a new PR for your solution.
I am fine to remove the git volume from Dockerfile
TBH, this is still an issue, I've seen many problem reports over the net caused by exactly this, and also this was my problem when I first used this docker. @ozbillwang can we action on this in some way? Is there any problem with https://github.com/alpine-docker/git/pull/10/files that currently needs fixing?
- the change proposed was backwards-compatible AFAIK (it ran the git command by default, and only called bash if the git call failed),
- fear is an emotion, and mixing emotions with engineering practices is seldom a good idea,
- if you still want to keep this repo as-it-is, can you maybe just create and publish a fixed fork instead?