We will need the same for rhel6 (with upstart). We should think about a consistent naming model.
D. On Oct 21, 2016 12:38 PM, "Mrunal Patel" <mpa...@redhat.com> wrote: > > > On Fri, Oct 21, 2016 at 9:29 AM, Daniel J Walsh <dwa...@redhat.com> wrote: > >> That might make the most sense. >> >> RHEL7 == Base Image >> >> RHEL7Systemd == BaseImage + Config to run systemd as pid1. >> > +1, maybe call it RHEL7-system image? > >> >> >> >> On 10/21/2016 12:26 PM, Daniel Riek wrote: >> >> Question: should we separate a true minimal base image that as default >> run's a shell and the default iamge that runs systemd and behaves more like >> a linux system? >> >> On Fri, Oct 21, 2016 at 12:02 PM, Clayton Coleman <ccole...@redhat.com> >> wrote: >> >>> This seems like a breaking API change (as you note) for downstream >>> consumers. Seems more correct to create a new image for that. >>> >>> > On Oct 21, 2016, at 11:50 AM, Daniel J Walsh <dwa...@redhat.com> >>> wrote: >>> > >>> > If we make this change, we would want to do it in Fedora and Centos >>> also. >>> > >>> > https://bugzilla.redhat.com/show_bug.cgi?id=1387282 >>> > >>> > The benefits of making this change are that people new to containers >>> > could follow a simple workflow similar to what the do on the OS, where >>> > all they need to do is install an rpm service and enable and it is >>> ready >>> > to go. >>> > >>> > >>> > # cat Dockerfile >>> > >>> > FROM rhel7 >>> > >>> > RUN dnf -y install httpd; systemctl enabled httpd >>> > >>> > ADD MYAPP / >>> > >>> > >>> > # docker build -t MYAPP . >>> > >>> > >>> > And they are done. Now if they run their container >>> > >>> > docker run -d MYAPP >>> > >>> > And their app runs with systemd/journald and httpd with their app >>> runnin >>> > inside of it. >>> > >>> > >>> > For users who don't want to use systemd, they would just override the >>> > CMD field and their container would work fine. >>> > >>> > Since the current default is bash, they would need to do this anyways. >>> > >>> > >>> > A couple of things will break, >>> > >>> > docker run -ti rhel7 >>> > >>> > Currently runs a shell. With the new change, systemd would start up >>> > inside of the contaienr. >>> > >>> > >>> > Users who want a shell would need to execute >>> > >>> > docker run -ti rhel7 /bin/sh >>> > >>> > (I always do this anyways, but I guess some people do not) >>> > >>> > >>> > The other big issue is on stopping of containers. docker stop currently >>> > defaults to sending SIGTERM to the pid 1 of the container. >>> > >>> > systemd requires that SIGRTMIN+3 be sent to it to close down properly. >>> > If we want to have systemd work by default, we would >>> > >>> > need to change the default SIGSTOP of the base image. This means any >>> > application based on the base image that does not >>> > >>> > override the SIGSTOP would get SIGRTMIN+3. Most apps will die when >>> they >>> > get this signal, but if the App had a signal handler for >>> > >>> > SIGTERM, the signal handler will not work correctly. >>> > >>> > >>> > Adding >>> > >>> > SIGSTOP SIGTERM >>> > >>> > to a Dockerfile would fix the issue, but it will cause unexpected >>> > breakage. I don't see an easy solution for this. >>> > >>> > >>> > >>> >>> >> >> >> -- >> Daniel Riek <r...@redhat.com> >> * Sr. Director Systems Design & Engineering >> * Red Hat Inc, Tel. +1-617-863-6776 >> >> >> >