New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Bonita BPM Official Docker image #852
Conversation
Sorry for the delay getting back to you on this. Overall this look good and it is clear you've done a thorough job preparing it. I do have a few nitpicks, though: The container doesn't shutdown gracefully with [less nitpick and more meta]: Is there a good reason to base on |
…nd PostgreSQL downloads. Fix container shutdown
Thanks a lot for your remarks. I will try to respond to all of your points. I've fixed the shutdown by using exec so the script executed using sudo receive well the signal now. I have tried to reduce the number of variables. The last ADD is replaced by a wget. MySQL and Postgresql downloads are now verified. DEBIAN_FRONTEND is here to avoid some debconf red messages (debconf: unable to initialize frontend: Dialog...) that could be disturbing for some users. I've followed your advise and moved it inside the RUN command with apt-get. I have changed a little the way to manage ownership but I still have issues with data volume owned by root. I hope it's ok for you. I also noticed that MySQL and PostgreSQL containers use a chown -R. If it's not sufficient, I will be glad to see some examples of best practices regarding that. One reason to base the image on ubuntu:14.04 and use our Tomcat Bundle is that it's in our Supported Environments Matrix (and currently it's our recommended stack). Another point is that an image based on java:7-jre is heavier (483.8 MB) than an image based on ubuntu:14.04 (391 MB). I come back to you ASAP regarding the remaining points on the doc PR. |
Thanks for the improvements. You'll want to make this change to take out the extra
Due to the way that the builder works, it will duplicate modified files into a new layer, so this winds up adding a bunch of useless data to the layer created by that
Outside of the |
Thank you, I've removed the chmod on both 7.0.0 and 7.0.1. |
I don't think 7.0.0 should be included since 7.0.1 deprecates it, unless you plan to follow-up with a PR to remove 7.0.0 and only backport it for historical reasons. Typically, only the latest releases in each supported series should be included in the library definition file. |
I noticed that your repo has been reorganized a bit. Be careful to use "git mv" as much as possible to retain history when you do that kind of thing. I compared the previous commit I looked at to the latest one out of band and saw a few other subtle improvements which look good. Let's make sure that the docs discuss the new |
@psftw There's nothing special about |
See also this entry in the Git FAQ: https://git.wiki.kernel.org/index.php/GitFaq#Why_does_Git_not_.22track.22_renames.3F |
@psftw Yes, if it's possible, I would like to push 7.0.0 also to keep it in the historic then I will create another PR to remove it from the list. Using that, I think that it can help to track and reproduce issues on all releases and find out which one introduce it. |
To be more coherent with existing official images (folders named MAJOR.MINOR), I've done another move into a folder "7.0". |
Hello, Any news for me regarding this PR? Kind regards, |
I'm a bit confused/worried about the size of the scripts in |
Thank you for taking a look on this PR. If you are referring to the many lines commented into templates/bonita-platform-community-custom.properties and templates/bonita-tenant-community-custom.properties |
I hope that we can find a way to meet Docker requirements in order that bonita image could integrate the Docker library. So we could ensure to follow the best practices to satisfy both Docker, and our community. |
Yeah, this is definitely what I was referring to. My largest concerns about that are two-fold. The first part is that the onus will now be on you to ensure that you double-check that the default configuration of Bonita hasn't changed each release (and incorporate the necessary changes each time), which makes your Docker maintenance burden slightly larger, as opposed to only including what's necessary to be changed for Bonita to work within Docker (if anything?) and thus making version bumps fairly trivial. The second is that the changes to these files are also then included in our review, which means slightly more content for us to wade through in order to review image updates. Does that make more sense? Users who want to customize Bonita ought to read Bonita's documentation instead of trying to understand it all just by reading the Dockerization source code, right? |
Ok, you're right, I've made this simplification. |
I'm still a little worried that there is a lot hidden in I would recommend moving a few lines in your Dockerfile around to utiliize caching better:
|
Sorry for the delay. |
https://docs.docker.com/articles/dockerfile_best-practices/#user has a bit about the evils of
|
Ok thanks. I've replaced sudo by gosu. |
LGTM, Build test of #852; cc1eded ( $ url="https://raw.githubusercontent.com/docker-library/official-images/cc1eded2de6c500afa56a82056fcd3e5749f2d33/library/bonita"
$ bashbrew build "$url"
Cloning bonita (git://github.com/Bonitasoft-Community/docker_bonita) ...
Processing bonita:7.0.0 ...
Processing bonita:7.0.1 ...
Processing bonita:7.0.2 ...
Processing bonita:7.0.3 ...
Processing bonita:latest ...
$ bashbrew list --uniq "$url" | xargs test/run.sh
testing bonita:7.0.0
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
testing bonita:7.0.1
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
testing bonita:7.0.2
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
testing bonita:7.0.3
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed $ docker images bonita
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
bonita 7.0.3 62e706735eae 5 minutes ago 393.8 MB
bonita latest 62e706735eae 5 minutes ago 393.8 MB
bonita 7.0.2 acf509191a3f 6 minutes ago 393.8 MB
bonita 7.0.1 de54d8d3f30b 7 minutes ago 393.8 MB
bonita 7.0.0 ebf422a94f62 8 minutes ago 393.7 MB
$ # not the final image ids, but useful to see the size |
LGTM |
Add Bonita BPM Official Docker image
Hello,
I add a bit of context here, my name is Jérémy and I work as a Sysadmin for Bonitasoft.
Bonitasoft is a software editor which supports the development of Bonita BPM, an open-source (available on GitHub) business process management and workflow suite.
We are really interested by Docker and would like to let our users benefit from this technology with an Official image.
Kind regards,
Jérémy